私は理解できない奇妙な行動に直面しています。実際、私はEntityManagerを注入したDAO AbstractFacadeを持っています。この抽象クラスから、多くのサブクラスを派生させました。まず、プロジェクトが適切に機能せず、多くの例外が発生しました。次に、エラー メッセージから、EntityManager に永続化ジョブを実行させる際に問題があることに気付きました。を返す抽象クラスでゲッターを取得したため、それは奇妙でした
entityManager.
public class AbstractFacade<T> {
private EntityManager em;
private Class<T> entityClass;
protected EntityManager getEntityManager() {
return em;
}
public AbstractFacade(Class entityClass){
this.entityClass = entityClass;
}
では、なぜサブクラスで機能しないのだろうか? 問題を解決し、例外がなくなったそのメソッドをオーバーライドするというアイデアを得ました!
@Stateless
@LocalBean
public class AirportFacade extends AbstractFacade<Airport> implements AirportFacadeLocal{
@PersistenceContext(unitName = "flams_pu")
private EntityManager em;
public AirportFacade(){
super(Airport.class);
}
@Override
public EntityManager getEntityManager(){
return em;
}
これまでのところとても良いですが、ゲッターをオーバーライドする前になぜ機能しなかったのか理解できなかったため、満足していません??
誰かが理由を知っているなら、私に知らせてください、そしてどうもありがとう。