我想在Hibernate中更新对象,比如说已经填充了3个字段( id = 1,firstname =" kim",lastname =" kardashian" ),基于某些" delta" object( id = 1,firstname =" kimirsen",lastname = null )。
我正在使用:
Session.update(object);
我的Object实体类有以下注释:
@DynamicUpdate
我发现它是必需的。
但是我还是得到了:
NULL not allowed for column "LASTNAME"; SQL statement:
异常。
有没有办法,更新对象,而不检查每个字段(如果它为空,如果是,则查询DB中的字段以进行检查,如果它已经填写或未填写)。 ..)?
答案 0 :(得分:0)
如果你只想更新第一个名字,那么你应该查询数据库并获取带有id的对象,并在调用更新之前修改名字。
我认为你不能遗漏姓氏,并希望Hibernate忽略它。
DynamicUpdate用于指定Hibernate是否应在DB中更新,Persitent对象的所有字段或仅修改的字段(与db相比)。