Evg*_*eev 11 java jpa persistence.xml
我想在我的应用程序的conf文件夹中有我的persistence.xml.我如何告诉Persistence.createEntityManagerFactory它应该从那里读取它?
Jam*_*mes 13
如果您使用的是EclipseLink,则可以使用持久性单元属性"eclipselink.persistencexml"设置persistence.xml位置.
properties.put("eclipselink.persistencexml", "/org/acme/acme-persistence.xml");
EntityManagerFactory factory = Persistence.createEntityManagerFactory("acme", properties);
Run Code Online (Sandbox Code Playgroud)
这个解决方案对我有用
Thread.currentThread().setContextClassLoader(new ClassLoader() {
@Override
public Enumeration<URL> getResources(String name) throws IOException {
if (name.equals("META-INF/persistence.xml")) {
return Collections.enumeration(Arrays.asList(new File("conf/persistence.xml")
.toURI().toURL()));
}
return super.getResources(name);
}
});
Persistence.createEntityManagerFactory("test");
Run Code Online (Sandbox Code Playgroud)
小智 2
createEntityManagerFactory 方法在任何 CLASSPATH 元素的 META-INF 目录中搜索 persistence.xml 文件。如果您的 CLASSPATH 包含 conf 目录,您可以将 EntityManagerFactory 定义放在 conf/META-INF/persistence.xml 中
| 归档时间: |
|
| 查看次数: |
17772 次 |
| 最近记录: |