Я сейчас изучаю Spring и Hibernate и у меня есть вопрос по транзакциям:
Если у меня есть пример DAO следующим образом:
@Override
public DatabaseObject getDatabaseObject(int id) {
Session session = sessionFactory.getCurrentSession();
return (DatabaseObject) session.createCriteria(DatabaseObject.class).add(Restrictions.eq("example", 3)).uniqueResult();
}
И в моем слое обслуживания у меня есть пример метода
@Override
public int someBusinessLogic(int number) {
DatabaseObject object = dao.getDatabaseObject(number);
//some business logic none of which modifies my databaseobject
}
Нужно ли сделать транзакцию BusinessLogic транзитной, и если да, то почему?