我非常天真地使用Hibernate。我有一个表,其中所有字段不为空和默认。字符串字段默认使用空格(“”),而int字段默认为1或0。此外还有1个时间戳字段,其默认日期为。如何在使用Hibernate更新时将DB字段值重置为默认值?
趁现在消费者可以进入使用我休息服务的任何值,如果他在场上向什么话,我想设置数据库字段值重置为默认值。在调用更新之前,我不想在Java端做相同的默认值。我想要只在数据库端定义默认值。
我曾尝试动态插入=“真”,这有助于我在创建操作,如果消费者不提供任何后来我把空在其中不包含在最终的查询在Java端领域。
但这种方法不更新过程中帮助我,因为有些领域有变化的,有些是根本算不了什么由消费者发送。所以我也尝试dynamic-update =“true”以及dynamic-insert =“true”。如果数据库字段的值和消费者没有为该字段发送任何信息,那么它被认为是变化,并且它构成休眠准备的最终查询。因此它无法满足我的目的。
我怎样才能得到这些字段重置为默认值,其DB对这些领域,而消费无关(空或空)发送?
我正在使用DB2和Hibernate。在实体感谢
您可以在不使用Java代码的情况下实现此目的。如果你使用的是MySQL,你可以将默认值设置为你想要的值。我还没有尝试过其他数据库,但我相信Oracle和SQL服务器也有这个选项。 https://www.safaribooksonline.com/library/view/mysql-cookbook/0596001452/ch08s05.html – kevenlolo