我有一个slsb持有我的业务逻辑,我如何使用泛型将以下三种方法更改为一种通用方法?前两个是相同的数据库,第三个是不同的数据库。此外,这些方法是否需要进一步注释与交易有关?如何使用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 2010-10-16 08:56:13
是的,在EJB3中,所有的EJB方法默认都是事务性的(REQUIRED)。因此,任何EJB方法都不需要@TransactionAttribute,除非您需要与方法上的默认值不同的tx属性(例如REQIURES_NEW) – Dzhu 2010-10-17 01:00:06