дети вышли из родительского DAO - PullRequest
0 голосов
/ 12 марта 2011

У меня проблема. У меня есть родитель 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;
    }
}

от которого простирается еще один детский DAOs. Когда я хочу выполнить некоторую операцию с дочерним объектом в дочернем DAO, я должен получить объект EntityManager из родительского класса или изменить объявление объекта entityManager на защищенное, что является плохим дизайном ООП. Есть ли другой способ сделать это? Потому что, когда у меня 100 детей DAO, я должен получать entityManager от родительского DAO для каждого нового ребенка.

1 Ответ

0 голосов
/ 07 апреля 2011

да, если вы используете spring, вы можете просто использовать атрибут parent для присвоения идентификатора базового компонента .... так что создайте один объект базового компонента в этом случае в диспетчере сущностей и добавьте его в качестве родительского в объявлениях вашего компонента.... ищите extends + parent в объявлении bean-объекта Spring.

...