public class Controller { private EntityManagerFactory emf; public void doSomeUnitOfWork(int id) { EntityManager em = emf.createEntityManager(); em.getTransaction().begin(); CrudDao dao = new CrudDao(em); Entity entity = dao.get(id); entity.setName("James"); dao.save(entity); em.getTransaction.commit(); em.close(); } }
public class Bean_A { Bean_B beanB; // Injected or whatever public void methodA() { EntityManager em = createEntityManager(); Entity e1 = // get from db e1.setName("Blah"); entityManager.persist(e1); em.getTransaction().commit(); int age = beanB.methodB(); } } public class Bean_B { //Note transaction @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) public void methodB() { // complex calc to calculate age } }
public class Bean_A { Bean_B beanB; // Injected or whatever @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) public void createEntity() { Entity e1 = // get from db e1.setName("Blah"); entityManager.persist(e1); } public void methodA() { createEntity() int age = beanB.methodB(); } } public class Bean_B { //Note transaction @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) public void methodB() { // complex calc to calculate age } }
entity.setName(entityName); entity.setEjbName(bean.getEjbName());
entity.setName(entityName); entity.setEjbName(bean.getEjbName());
entity.setName(entityName); entity.setEjbName(bean.getEjbName());