我有一個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