从父母DAO延伸的孩子

时间:2011-03-12 20:19:31

标签: entity-framework dao genericdao

我有问题。我有一个父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。

1 个答案:

答案 0 :(得分:0)

是的,如果您正在使用spring,您可以使用“parent”属性来提供基本bean id ....所以在这种情况下创建一个基本bean对象实体管理器并将其作为父类添加到子类的bean声明中。 ...在spring bean声明中查找extends + parent。