2
我使用Hibernate 3.6.3決賽和Hibernate 3.4.1搜索。 我寫了一個HQL刪除查詢。這些對象將從數據庫中刪除,但在事務完成後,它們不會從Lucene索引中刪除。 這是詢問:Hibernate的HQL查詢不更新Lucene索引
Session session = factory.getCurrentSession();
Query q = session.createQuery("delete from Charges cg where cg.id in (:charges)");
q.setParameterList("charges", chargeIds);
int result = q.executeUpdate();`
我在想什麼?我需要做些什麼來解決問題?
我創建了一個PostDeleteEvent,hoever的FullTextEventListener似乎沒有被接收事件:
SessionImpl sessImpl = (SessionImpl) factory.getCurrentSession();
SessionImplementor implementor = sessImpl.getPersistenceContext().getSession();
EntityPersister persister = implementor.getEntityPersister("Charges", cg);
EntityEntry entry = sessImpl.getPersistenceContext().getEntry(cg);
Object[] deletedState = new Object[]
{ cg};
entry.setDeletedState(deletedState);
PostDeleteEvent pdEvent = new PostDeleteEvent(entry, entry.getId(), deletedState,
entry.getPersister(), (EventSource) sessImpl);`
謝謝。