执行以下功能:
public void deleteByEntryId(long id)
{
super.getSession().createSQLQuery("DELETE FROM guest WHERE entry_fk = " + id).executeUpdate();
}
Hibernate的缓存是否会知道/通知删除Guest对象?
getSession()
和许多其他(我要求依赖于我是通过对象还是通过SQLquery删除我在测试中进一步得到StaleState或OtimistickLockException。)
答案 0 :(得分:2)
要使Guests表缓存无效,您需要添加“addSynchronizedEntityClass”调用:
public void deleteByEntryId(long id)
{
super.getSession()
.createSQLQuery("DELETE FROM guest WHERE entry_fk = " + id)
.addSynchronizedEntityClass(Guest.class)
.executeUpdate();
}
答案 1 :(得分:-1)
不,它不会。即使是HQL更新和删除查询也不会影响内存状态。