我有一种通过hibernate删除记录的方法。我删除后添加一个查询。删除的记录仍在结果列表中。它不应该。这是代码。
@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.
...
}
从事务提交的数据库中删除记录。
答案 0 :(得分:1)
你应该刷新休眠会话。
当您通过Hibernate使用数据库时,您正在使用Hibernate会话。
Hibernate会话通过以下三种情况刷新到数据库。
或者您可以通过
手动刷新它session.flush()