Автоматический перевод в спящий режим без запроса DAO - PullRequest
0 голосов
/ 26 ноября 2018

Я сейчас читаю код от другого парня.Я видел, что он не делает никаких явных запросов на обновление 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 auto commit POJO Object.Пожалуйста, дайте мне знать, как?И зачем кому-то это делать, это затрудняет чтение кода?

...