休眠:在选择调用时执行更新

Igo*_*nko 2 java hibernate

我在休眠时遇到了问题,我在调用时遇到了违反约束的异常,我只想调用一个“选择”。

return getHibernateTemplate().execute(new HibernateCallback<List<HibernateObject>>() {
    @Override
    public List<HibernateObject> doInHibernate(Session session) {
        Criteria criteria = session
          .createCriteria(HibernateObject.class)
          .add(eq("myobject.id", id));

        return criteria.list();
    }
});
Run Code Online (Sandbox Code Playgroud)

更新调用也发生在 not 上HibernateObject,只针对相关对象。如何在没有我明确调用的情况下找出更新发生的原因?

小智 5

默认情况下,休眠使用FlushMode.AUTO,这意味着:

Session 有时会在查询执行之前被刷新,以确保查询永远不会返回陈旧状态。

具有脏状态的实体必须附加到您的会话,并且 Hibernate 在执行查询之前将其持久化。