Java 使用数据库函数中的值保存Hibernate实体的属性

Java 使用数据库函数中的值保存Hibernate实体的属性,java,database,hibernate,orm,hibernate-mapping,Java,Database,Hibernate,Orm,Hibernate Mapping,我有一个Hibernate实体,它有一个java.util.Date属性。我希望让数据库通过SYSDATE()函数设置日期,而不是在我的实体上将属性值设置为new Date(),然后使用Hibernate保存。我想要这个,因为我不能依赖客户端设置的日期,因为它是一个swing应用程序。我只能相信从数据库中花费的时间 我已经想到了一些选择,但两种选择似乎都很糟糕: 询问数据库当前时间,在我的对象上设置它,然后保存。(昂贵) 创建Hibernate insert语句并手动传递参数。(颠覆了Hibe

我有一个Hibernate实体,它有一个
java.util.Date
属性。我希望让数据库通过SYSDATE()函数设置日期,而不是在我的实体上将属性值设置为
new Date()
,然后使用Hibernate保存。我想要这个,因为我不能依赖客户端设置的日期,因为它是一个swing应用程序。我只能相信从数据库中花费的时间

我已经想到了一些选择,但两种选择似乎都很糟糕:

  • 询问数据库当前时间,在我的对象上设置它,然后保存。(昂贵)
  • 创建Hibernate insert语句并手动传递参数。(颠覆了Hibernate的目的)

Hibernate允许您生成DB列,请查看Hibernate文档

您的数据库应该具有默认的SYSDATE配置


检查完整的解决方案。

生成的属性只是让Hibernate为您获取生成值的一种方法。
默认系统日期
实现了我想要的技巧。我使用了
insert=“false”
,但禁用了
generated=“insert”
,因为我不需要生成的值。