Каким будет хороший дизайн проекта, хорошее разделение слоев в проекте с гибернацией (без пружины), в которой мне нужно создать транзакцию, в которой сохраняются две разные сущности (все или ничего)
Я знаюtrasaction должен выглядеть следующим образом:
try {
session = sessionFactory.openSession();
tx = session.beginTransaction();
session.save(entity01)
session.save(entity02)
tx.commit();
}catch (Exception ex) {
ex.printStackTrace();
tx.rollback();
}
finally {session.close();}
Но мои главные сомнения:
Должен ли этот код быть в классе / слое Service?
Должен ли я где-нибудь использовать DAO?
Не думаю, что мне следует помещать его в один DAO, потому что DAO специфичны для каждого объекта, и я выполняю транзакцию с различными объектами.