non*_*tor 18 java entity hibernate jpa immutability
两者有什么区别?
是否应该在一个实体上使用一个或两个?
Vla*_*cea 12
该org.hibernate.annotations.Entity批注已弃用,将在Hibernate的未来版本中删除.
因此,@Immutabale如果您拥有永远不应被Hibernate修改的实体,则应始终使用注释.
正如我在本文中解释的那样,@Immutable注释告诉Hibernate以只读模式加载实体,因此脏检查机制无法跟踪实体修改.
但是,@Immutable仍可通过JPQL或Criteria API批量更新查询更新实体.
为了确保@Immutabale实体永远不会被修改为批量更新查询,从Hibernate 5.2.17开始,您可以设置以下配置属性:
<property
name="hibernate.query.immutable_entity_update_query_handling_mode"
value="exception"
/>
Run Code Online (Sandbox Code Playgroud)
使用此属性后,批量更新查询将最终抛出异常,并且将阻止实体更新.
| 归档时间: |
|
| 查看次数: |
16900 次 |
| 最近记录: |