我在NetBeans的Web项目中使用了eclipselink。它工作得很好,很容易。如何在与Web无关的项目(控制台应用程序)中执行相同操作?
在我的网络应用程序中,我有:
@PersistenceUnit
EntityManagerFactory enf;
哪个实例化enf。这在控制台应用程序中不起作用。
答案 0 :(得分:3)
对于Web或应用程序容器,容器会在调用EntityManagerFactory
注释时注入@PersistenceUnit
。这不适用于控制台应用程序。
实现这一目标的可能方法是
或者
自己编写启动代码如下。
EntityManagerFactory emf = Persistence.createEntityManagerFactory("PersistenceUnitName");
答案 1 :(得分:2)
好的,我只需要打电话
enf = Persistence.createEntityManagerFactory("JavaApplication39PU");
其中JavaApplication39PU是META-INF / persistence.xml中的名称
答案 2 :(得分:1)
在EJB3容器(或Spring)中运行时,您可以获得使用EclipseLink进行动态编织的好处。如果您在JavaSE场景中运行,我建议使用-javaagent启用动态编织,以便您的应用程序行为相同。
道格