我有个问题。我有一个父 DAO:
public abstract class ParentDAO<T> {
@PersistenceContext
private EntityManager entityManager;
public EntityManager getEntityManager() {
return entityManager;
}
public void setEntityManager(EntityManager entityManager) {
this.entityManager = entityManager;
}
private EntityManager em() {
if (entityManager == null)
throw new IllegalStateException("The entity manager is not set");
return entityManager;
}
}
从中扩展了另一个子 DAO。当我想对子 DAO 中的子实体进行一些操作时,我必须从父类获取 EntityManager 对象或将 entityManager 对象声明更改为受保护,这是糟糕的 OOP 设计。还有另一种方法可以做到这一点吗?因为当我有 100 个 DAO 孩子时,我必须为每个新孩子从父 DAO 获取 entityManager。