我们已将所有会话设置为仅通过调用setDefaultReadOnly(true)
来读取。但是,即使我们明确调用session.update(entity)
,我们的更新也不再有效。我可以看到为什么会发生这种情况,hibernate不知道这个实体是脏的。
我的问题是,如何告诉hibernate我已经对这个需要同步的实体进行了更改?我尝试将实体与session.merge(entity)
合并,但这不起作用。
答案 0 :(得分:0)
试试这个:
答案 1 :(得分:0)
在更改实体的状态之前,请将其设置为只读:session.setReadOnly(entity, false)
然后编辑实体,让flush / commit按照惯例进行脏检查。