hibernate无需任何dao请求自动提交

2sbarzqh  于 2021-06-17  发布在  Mysql
关注(0)|答案(0)|浏览(361)

我正在读另一个人的代码。我看到他没有提出任何明确的更新要求 DB 但它确实更新了实体。请检查下面 pseudo code :

@Transactional(propagation = Propagation.REQUIRED, readOnly = false)
public void updateFoo(long fooId) {

    // Get foo instance from DB, foo has status = 0
    Foo foo = fooDAO.getFoo(fooId);
    foo.setStatus(1);
    // There is no call to DAO layer from here
}

我是从 My SQL , foo 更新时没有任何 session.save(foo) 或者 session.update(foo) 通常,我会把这样的事情叫进来 FooDAO

sessionFactory.getCurrentSession().update(foo);

怎么可能?我怀疑 Transaction 自动 commit pojo对象。请告诉我怎么做?为什么会有人这么做,这会让代码更难阅读吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题