私は問題があります。私は親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 を取得する必要があるためです。