EclipseLink:以编程方式检索PU名称

时间:2014-08-19 16:36:04

标签: jpa eclipselink jpa-2.0

在EclipseLink中创建EMF非常简单:

String myPU = "mypu";
Persistence.createEntityManagerFactory(myPU);

但是,除了单独存储字符串之外,有没有办法在创建工厂后检索PU的名称?

1 个答案:

答案 0 :(得分:0)

您可以在创建工厂时将persistenceUnitName存储在属性映射中:

String myPU = "mypu";
Map<String, Object> properties = new HashMap<String, Object>();
properties.put("custom-property.unit-name", myPU);
EntityManagerFactory emf = Persistence.createEntityManagerFactory(myPU, properties);
assertEquals(myPU, emf.getProperties().get("custom-property.unit-name"));

存储单位名称的属性名称并不特殊。工厂只存储您传递给它的任何属性。请确保它是唯一的,不会与其中一个EclipseLink属性发生冲突。