Hibernate Entity自动保存问题(SpringBoot集成)

1,315 阅读1分钟

原因:查询出来后是托管状态,结束时会自动保存

解决方案:session.evict(entity) 这样就将这个实体从托管状态移除了

SpringBoot2.x+Hibernate获取当前session方法:

@PersistenceContext
protected EntityManager entityManager;

public Session getCurrentSession() {
    return entityManager.unwrap( Session.class );
}

最后调用就是:

getCurrentSession().evict(entity);