Я работаю над J2EE
приложением, которое будет развернуто на Weblogic
, и содержит два уровня:
- Бизнес: DAO и логические методы
- EJB:который будет использовать бизнес-уровень
Я разделяю двухуровневый, чтобы иметь возможность повторно использовать бизнес-уровень (как библиотеку jar) в проекте Java SE.
IЯ использую transaction-type = JTA
, чтобы позволить серверу управлять транзакциями, но в проекте SE я использую transaction-type = RESOURCE_LOCAL
, поэтому мне нужно явно начать и зафиксировать транзакцию.
Итак, вопрос: есть ли проблемы?если я запускаю и фиксирую транзакцию явно при использовании JTA
Другими словами, существуют ли огромные различия между двумя приведенными ниже кодами:
public void create(T entity) {
entityManager.persist(entity);
}
и
public void create(T entity) {
entityManager.getTransaction().begin();
entityManager.persist(entity);
entityManager.getTransaction().commit();
}