You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 5
Next »
Using one (default) Entity Manager
public class DataBaseProducer
{
@Produces
@PersistenceContext(unitName="default")
@Default
private EntityManager entityManager;
public void dispose(@Disposes @Default EntityManager entityManager)
{
if(entityManager.isOpen())
{
entityManager.close();
}
}
}
public class CustomService1
{
@Inject
protected EntityManager entityManager;
@Transactional
public void update(CustomEntity1 entity)
{
this.entityManager.merge(entity);
}
}
Using multiple Entity Managers
public class DataBaseProducer
{
@Produces
@PersistenceContext(unitName="default")
@Default
private EntityManager entityManager;
@Produces
@PersistenceContext(unitName="UserDB")
@Users
private EntityManager usersEntityManager;
public void disposeDefaultDB(@Disposes @Default EntityManager entityManager)
{
if(entityManager.isOpen())
{
entityManager.close();
}
}
public void disposeUserDB(@Disposes @Users EntityManager entityManager)
{
if(entityManager.isOpen())
{
entityManager.close();
}
}
}
public class CustomService2
{
@Inject
@Users
protected EntityManager entityManager;
@Transactional(Users.class)
public void update(CustomEntity2 entity)
{
this.entityManager.merge(entity);
}
}