Спящий режим в неуправляемой среде - PullRequest
0 голосов
/ 22 июля 2011

У меня возникла небольшая проблема, я всегда работал с Hibernate и Spring над веб-материалами с шаблоном GenericDAO, теперь я использую Hibernate для приложения с графическим интерфейсом, которое не использует ничего, как EJB и подобные вещи.

Моя главная проблема в том, что я имел это

@PersistenceContext(unitName = "persistenceUnit") private EntityManager em;

но теперь я делаю так:

private EntityManagerFactory emf = Persistence.createEntityManagerFactory("persistenceUnit"); private EntityManager em = emf.createEntityManager();

Просто заметил, что у меня есть большой недостаток: когда я наследую этот класс GenericDAO, я каждый раз создаю один EntityManagerFactory, что мне делать?

EDIT:

Согласитесь, это будет самый лучший способ решить эту проблему?

private EntityManagerFactory emf;
private static final Connector INSTANCE = new Connector();

public static Connector getInstance() {
    return INSTANCE;
}   

private Connector(){        
    emf = Persistence.createEntityManagerFactory("persistenceUnit");
}

public EntityManagerFactory getEmf() {      
return emf;
}

1 Ответ

0 голосов
/ 22 июля 2011

Вы все еще можете использовать шаблон внедрения зависимостей без Spring или другого контейнера - создайте EntityManagerFactory в одном месте и вставьте его в объекты DAO при их создании.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...