如何使用休眠模式设置默认实体属性值

问题描述 投票:142回答:16

如何在休眠字段中设置默认值?

java hibernate orm entity default-value
16个回答
183
投票

如果要使用真实的数据库默认值,请使用columnDefinition

@Column(name = "myColumn", nullable = false, columnDefinition = "int default 100") 

35
投票

您可以使用@PrePersist批注并在预持久阶段设置默认值。


30
投票

仅为该字段设置默认值是什么?


27
投票

使用休眠注释


7
投票

如果要在数据库中执行此操作:


5
投票

一种解决方案是让您的吸气剂检查您正在使用的任何值是否为空(或它的未初始化状态为空),并且如果它等于该值,则只需返回默认值即可:


4
投票

我进行了搜索,发现许多列默认值的答案。如果要使用SQL表中定义的默认值,请在@Column注释中使用“ insertable = false”


4
投票

使用@ColumnDefault()注释。虽然这只是休眠。


2
投票

与Oracle合作,我试图为枚举插入默认值


2
投票

您可以使用java类的构造函数来设置默认值。例如:


2
投票

使用表的任何列中的默认值。那么您必须将@DynamicInsert定义为true,否则您只需定义@DynamicInsert。因为休眠默认情况下为true。考虑给定的示例:


1
投票
<property name="age" type="integer">
<column name="age" not-null="false" default="null" />
</property>

1
投票

我正在使用Hibernate 5和Postgres,而这在我看来是有效的。


0
投票

如果要设置数据库默认值,只需设置@Column( columnDefinition = "int default 1")


0
投票

默认实体属性值


-3
投票

以上建议有效,但前提是在getter方法上使用了注释。如果在声明成员的地方使用了注释,则不会发生任何事情。

© www.soinside.com 2019 - 2024. All rights reserved.