Что ж, если вопрос заключается в том, как спроектировать DAO, вы можете найти много документации в разных местах, как в Каталог шаблонов Java EE .
Теперь я не думаю, чтополучите свой код.У вас действительно есть метод с именем "Class"?(Я не думаю, что это возможно, учитывая, что «Класс» является зарезервированным словом, не так ли?)
В любом случае, если имя является правильным и возможным, если этот метод является частью открытого интерфейса вашегоDAO, то вы можете рассмотреть редизайн, основанный на следующих идеях:
Вы не инициализируете фабрику Entity Manager снова и снова в методе, чтобы выполнить только транзакцию.Эта задача довольно дорогая (в вычислительном отношении это означает, что она требует много времени и ресурсов).Поэтому вы обычно инициализируете свою фабрику один раз за время существования приложения и используете ее для создания столько менеджеров сущностей, сколько требуется вашему приложению.
Менеджер сущностей обрабатывается по-разному в зависимости от типа приложения, которым вы являетесьстроительство.Например, приложения Java EE могут использовать преимущества управляемых контейнером транзакций и совместного использования контекста приложения.Предполагая, что ваш код - это код приложения JSE, вы делаете одну из двух вещей: a) вы можете создать одного менеджера сущностей и поделиться им со всеми вашими DAO, или вы можете создать менеджера сущностей для каждого разговора пользователя (чаще всего с помощью транзакции).) и найдите способ внедрить их в свои DAO.
Возможно, вы захотите взглянуть на Google Juice , у них есть удобный способ внедрения Entity Manager и поддержки транзакций для POJO, используя ихинверсия структуры управления.
Возможно, вы захотите проверить этот другой ответ о том, как работает контексты JPA Entity Manager Создает ли метод find () EntityManager новый экземпляр класса JPA?