Могу ли я получить ссылку от бина JPA на экземпляр EntityManager, который управляет им? - PullRequest
0 голосов
/ 14 сентября 2011

Вопрос в основном подводит итог.

Платформа Play имеет класс JPABase, от которого наследуются бины JPA. Этот класс имеет метод em (), который возвращает экземпляр entityManager бина. Есть ли что-то эквивалентное этому в простом JPA?

Ответы [ 2 ]

5 голосов
/ 14 сентября 2011

AFAIK, нет.И я бы посчитал это очень сомнительным.Предполагается, что сущности JPA - это POJO, которые можно использовать вне уровня персистентности, где классы JPA даже не находятся в пути к классам.Представление EntityManager в этих POJO мне кажется неправильным.

0 голосов
/ 20 сентября 2011

Похоже, что Play Framework реализует шаблон Active Record , позволяющий вам выполнять операции персистентности непосредственно в компоненте. Это вполне приемлемо, и вы можете реализовать подобное решение.

Однако, как только вы выберете этот подход, вы не сможете пользоваться преимуществами POJO. Например, это решение может быть не лучшей альтернативой, если ваше приложение имеет многоуровневую архитектуру.

В любом случае, посмотрите на исходный код, это бесплатно! https://github.com/playframework/play/blob/master/framework/src/play/db/jpa/JPABase.java

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