2015-03-02 88 views
1

我有我做了以下this.getHibernateTemplate()。删除(BP)不会删除立即

// First delete the entry by 
this.getHibernateTemplate().delete(test); 

// In Next Line try to load the latest values by 
List<test> = this.getHibernateTemplate().find("from test"); 

在这种情况下的方法,被删除的条目也被加载在测试对象的列表。我不希望删除的条目被加载List<test> = this.getHibernateTemplate().find("from test");

+1

删除后是否存在提交? – pL4Gu33 2015-03-02 13:36:17

+0

没有。我不做任何承诺。 – 2015-03-02 14:06:34

回答

2

在提交或刷新之前,Hibernate不会执行删除操作。您可以在删除之后和呼叫查找之前调用会话的刷新。

+0

它也是关于不同的缓存。使用标准api发出的相同查询应该*不*找到被删除的实体IIRC。 – atamanroman 2015-03-03 13:34:19

0

添加了以下代码以使其工作。

Transaction beginTransaction = this.getHibernateTemplate().getSessionFactory().getCurrentSession().beginTransaction(); 

// First delete the entry by 
this.getHibernateTemplate().delete(test); 

beginTransaction.commit(); 

// In Next Line try to load the latest values by 
List<test> = this.getHibernateTemplate().find("from test"); 
+0

因此冲洗不工作? – 2015-03-03 13:51:31

+0

我没有尝试过。我尝试提交,它工作正常:)反正谢谢你的帮助。 – 2015-03-04 09:50:55