抽象超类或每个具体子类中的@PersistenceContext?

时间:2012-10-26 19:28:49

标签: java java-ee jpa

您是否会在抽象超类中添加@PersistenceContext注释,还是将它添加到每个具体的SqlRepository中,然后将引用传递给超类的构造函数?任何赞成还是缺点?

@Stateless
public abstract class AbstractSqlRepository<T> implements Repository<T> {

    @PersistenceContext
    private EntityManager entityManager;
...

1 个答案:

答案 0 :(得分:0)

如果您有多个持久性单元,您可能希望重新考虑将实体管理器放在基类中。您将把所有子类耦合到同一个持久性单元。

就个人而言,我会将实体管理器定义为数据层之上的层。这将使您更好地控制交易。此外,如果您没有在父类中使用它,则可以使用不同的持久性单元。