Hibernate управляет транзакцией в автономном приложенииJAVA

Программисты JAVA общаются здесь
Anonymous
Hibernate управляет транзакцией в автономном приложении

Сообщение Anonymous »

У меня есть небольшой проект, в котором есть только:
  • реализовать простой rest API с помощью com.sun.net.httpserver.HttpServer
  • Hibernate + JPA
как вы знаете, Hibernate не поддерживает вложенные транзакции, и я не буду использовать такие платформы, как Spring или jakarta/javaEE.

Я хочу знать:

Хороша ли идея передавать EntityManager в качестве параметра классам слоев CRUD?

Код: Выделить всё

public class MyCRUD {

public static void save(FirstEntity fe, EntityManager em) {
em.persist(fe);
}

public static void save(SecondEntity se, EntityManager em) {
em.persist(se);
}
}

public class MyService {
public static void doSomething(....) {
// Business logic
// Insert into db
// ...
EntityManagerFactory emf = Persistence.createEntityManagerFactory(UNIT_NAME);
try (EntityManager em = emf.createEntityManager()){
EntityTransaction tx = em.getTransaction();
tx.begin();
MyCRUD.save(fe, em);
MyCRUD.save(se, em);
tx.commit();
}
}
}
Есть ли способ использовать EntityManager внутри уровня CRUD (без передачи в качестве параметра) и обрабатывать транзакции на уровне обслуживания?

Подробнее здесь: https://stackoverflow.com/questions/782 ... pplication

Вернуться в «JAVA»