![]() |
1
201
实际上,在JPA中是可能的,尽管有一点黑客使用
|
![]() |
2
267
您可以执行以下操作:
那里!您刚刚使用了零作为默认值。 注意:如果您只从这个应用程序访问数据库,那么这将为您服务。如果其他应用程序也使用该数据库,则应使用 Cameron's 列定义 注释属性或其他方式。 |
![]() |
3
95
另一种方法是使用javax.persistence.prepersist
|
![]() |
4
31
2017年,JPA仍然只有
不过,冬眠是这样的:
两个注意事项:
1)不要害怕不规范。作为一个JBoss开发人员,我见过很多规范过程。规范基本上是给定领域的大玩家愿意承诺在未来十年左右支持的基线。对于安全性来说是正确的,对于消息传递来说,ORM没有区别(尽管JPA涵盖了很多)。我作为一个开发人员的经验是,在一个复杂的应用程序中,迟早你会需要一个非标准的API。和
2)很高兴大家都在挥动@preversist或构造函数成员初始化。但情况不同。批量SQL更新如何?不设置列的语句如何?
|
![]() |
5
13
JPA不支持这一点,如果它支持的话,它将是有用的。使用ColumnDefinition是特定于数据库的,在许多情况下是不可接受的。当检索具有空值的记录(通常在重新运行旧的dbunit测试时发生)时,在类中设置默认值是不够的。我要做的是:
Java自动装箱在这方面有很大帮助。 |
![]() |
6
9
当我试图解决同样的问题时,在谷歌上偶然发现了这一点,我会把我准备的解决方案扔进去,以防有人发现它有用。 从我的观点来看,这个问题只有1个解决方案——@preversist。如果你在@prepersist中这样做,你必须检查这个值是否已经设置好了。 |
![]() |
7
7
我刚刚测试了这个问题。 它工作得很好。 谢谢你的提示。 关于评论:
这一个 不 在数据库中设置默认的列值(当然)。 |
![]() |
8
7
可以使用Java反射API:
这是常见的:
|
![]() |
9
6
我用
|
![]() |
10
6
不能对列批注执行此操作。我认为唯一的方法是在创建对象时设置默认值。也许默认的构造函数是正确的地方。 |
![]() |
11
5
在我的例子中,我修改了Hibernate核心源代码来引入一个新的注释
好吧,这只是一个休眠解决方案。 |
![]() |
12
2
JPA和Hibernate注释都不支持默认列值的概念。为了解决这个限制,在调用休眠之前设置所有默认值。
不同于将模型类中的默认值设置为
alternative answer
建议,此方法还确保使用
|
![]() |
13
2
在我的示例中,由于字段为localdatetime,所以建议使用该字段,因为供应商独立 |
![]() |
14
1
如果您使用的是双人床,则可以使用以下选项:
是的,这是特定于数据库的。 |
![]() |
15
1
|
![]() |
16
0
这在JPA中是不可能的。 这就是你 可以 使用列注释: http://java.sun.com/javaee/5/docs/api/javax/persistence/Column.html |
![]() |
17
0
可以在数据库设计器中或在创建表时定义默认值。例如,在SQL Server中,可以将日期字段的默认保管库设置为(
|
![]() |
18
-2
你需要
看到这个链接: http://mariemjabloun.blogspot.com/2014/03/resolved-set-database-default-value-in.html |
![]() |
Mario Zelic · 更改子类方法签名时使用@重写注释 2 年前 |
![]() |
LM10 · @Resource注释的含义 7 年前 |
![]() |
Chris · 函数参数dtype声明不起作用? 7 年前 |
![]() |
edison ouyang · 招摇过市批注未生成预期结果 7 年前 |