我有问题。我有一个父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对象声明更改为protected,这是糟糕的OOP设计。还有另一种方法吗?因为当我有100个DAO孩子时,我必须从每个新孩子的父DAO获得entityManager。
答案 0 :(得分:0)
是的,如果您正在使用spring,您可以使用“parent”属性来提供基本bean id ....所以在这种情况下创建一个基本bean对象实体管理器并将其作为父类添加到子类的bean声明中。 ...在spring bean声明中查找extends + parent。