У меня есть slsb, который держит мою бизнес-логику, как мне использовать generics для изменения следующих трех методов в один общий метод? Первые два - это тот же самый дБ, третий - другая база данных. Кроме того, методы требуют дополнительной аннотации в отношении транзакции?Как реализовать дженерики с использованием JPA/hibernate EntityManager и EJB3.0?
@PersistenceContext(unitName = "db")
private EntityManager myEntityManager;
@PersistenceContext(unitName = "db2")
private EntityManager myDB2EntityManager;
@TransactionAttribute(TransactionAttribute.Required)
public void crud(MyEntity myEntity) throws MyException {
myEntityManager.merge(myEntity);
}
public void crud(ADifferentEntity aDifferentEntity) throws MyException {
myEntityManager.merge(aDifferentEntity);
}
public void crud(DB2Entity db2Entity) throws MyException {
myDB2EntityManager.merge(db2Entity);
}
Большое спасибо заранее. Приветствия!
Я думал, что аннотация аннулирования аннулирует необходимость в аннотации атрибута транзакции для каждого метода в ejb3.0? – NimChimpsky
Да, в EJB3 все методы EJB по умолчанию являются транзакционными (НЕОБХОДИМО). Таким образом, @TransactionAttribute не требуется ни в одном из методов EJB, если вам не нужен другой атрибут tx, чем значение по умолчанию для метода (например, REQIURES_NEW) – Dzhu