您是否会在抽象超类中添加@PersistenceContext
注释,还是将它添加到每个具体的SqlRepository中,然后将引用传递给超类的构造函数?任何赞成还是缺点?
@Stateless
public abstract class AbstractSqlRepository<T> implements Repository<T> {
@PersistenceContext
private EntityManager entityManager;
...
答案 0 :(得分:0)
如果您有多个持久性单元,您可能希望重新考虑将实体管理器放在基类中。您将把所有子类耦合到同一个持久性单元。
就个人而言,我会将实体管理器定义为数据层之上的层。这将使您更好地控制交易。此外,如果您没有在父类中使用它,则可以使用不同的持久性单元。