0
我有一種方法可以通過休眠來刪除記錄。我刪除後添加一個查詢。被刪除的記錄仍然在結果列表中。它不應該。這是代碼。實體仍然可以在事務中被休眠刪除後被選中
@Transactional
public void deleteFoo(long fooId){
Foo foo = fooDao.find(fooId);
fooDao.delete(foor);
List<Foo> brothers = fooDao.findByParentId(foo.getParentId());
// I think the brothers does not contains foo.
// Unfortunately, foo is still in the list.
// I do not know why and how to make sure the brothers does not contains foo.
...
}
該記錄從承諾交易的數據庫中刪除。
爲什麼它沒有被刷新刪除但在findByParentId之前? – xyz
我的意思是對數據庫的查詢。 –
刪除後我添加了'session.flush()'。但它立即造成了刪除。它破壞了交易配置。 – John