JPAを使用したい単純なWebアプリケーションを構築しています。私は Glassfish にデプロイすることを期待していますが、JTA データソースではなく、アプリケーション内でエンティティの永続性を管理する方が有益であると考えていました。これは非常に明るいアイデアではないかもしれないことを認めますか?
しばらく前に、以下をまとめました (おそらく、失われた Web 参照から)。
public class PersistenceManager {
private static final PersistenceManager instance = new PersistenceManager();
protected EntityManagerFactory emf;
public static PersistenceManager getInstance() {
return instance;
}
private PersistenceManager() {
}
public EntityManagerFactory getEntityManagerFactory() {
if (emf == null) {
createEntityManagerFactory();
}
return emf;
}
public void closeEntityManagerFactory() {
if (emf != null) {
emf.close();
emf = null;
}
}
protected void createEntityManagerFactory() {
this.emf = Persistence.createEntityManagerFactory("Met");
}
}
それで、私の質問です。これは合理的なアプローチですか?ここに落とし穴はありますか?