Pas*_*ent 11
我已将实体加载到我的事务中并更改了该实体的属性.该交易尚未提交.现在我想获得已更改属性的原始值.
简而言之:自己追踪旧价值.
我尝试过一个HQL查询,例如从Person p中选择p.property,其中p.id = 1,其中包含事务中加载的实体的ID.
Hibernate将实体的唯一版本加载到给定数据库标识符的会话(第一级缓存)中.这不行.
我设置了query.setHint("org.hibernate.cacheMode",CacheMode.IGNORE); 在执行查询之前.
此提示用于影响查询缓存(依赖于二级缓存),这不会影响您当前的"问题".
有没有办法解决?
或
session.refresh()强迫你的实体的重载(你会松散的变化)小智 6
StatelessSession为我工作.
StatelessSession statelessSession = sessionFactory.openStatelessSession();
try {
return statelessSession.get(Ticket.class, ticketKey, LockMode.READ)
} finally {
statelessSession.close()
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20599 次 |
| 最近记录: |