这个问题基本上总结了一下。
Play框架具有JPA bean继承的JPABase类。这个类有一个名为em()的方法,它返回bean的entityManager实例。普通JPA中是否有与此相同的东西?
答案 0 :(得分:5)
AFAIK,没有。而且我会发现它非常值得怀疑。 JPA实体应该是在持久层之外可用的POJO,其中JPA类甚至不在类路径中。在这些POJO中公开EntityManager对我来说似乎不对。
答案 1 :(得分:0)
看起来Play Framework实现了Active Record模式,允许您直接在bean中进行持久性操作。这是完全可以接受的,您可以实现类似的解决方案。
但是,一旦选择了这种方法,您将无法获得POJO的好处。例如,如果您的应用程序具有n层架构,则此解决方案可能不是最佳选择。
无论如何看看源代码,它是免费的! https://github.com/playframework/play/blob/master/framework/src/play/db/jpa/JPABase.java