有没有办法创建 EntityManagerFactory without a persistence unit defined ?您能否提供创建实体经理工厂所需的所有属性?我需要在运行时从用户的指定值创建EntityManagerFactory . 更新persistence.xml并重新编译不是一个选项 .
目前我正在使用 eclipselink dynamic persistence 所以我需要创建没有定义持久性单元的EntityManagerFactory?我有一组运行时实体需要在运行时将单个实体组映射到不同的数据库,并且没有持久性单元条目可用于此运行时实体组 .
关于如何做到这一点的任何想法都受到欢迎!
2 回答
您最好的选择是最有可能直接访问PersistenceProvider并使用EJB容器API从PersistenceUnitInfo创建EntityManagerFactory .
PersistenceProvider.createContainerEntityManagerFactory()
见,http://www.eclipse.org/eclipselink/api/2.5/org/eclipse/persistence/jpa/PersistenceProvider.html#createContainerEntityManagerFactory%28javax.persistence.spi.PersistenceUnitInfo,%20java.util.Map%29
刚刚在DataNucleus文档中看到:
http://www.datanucleus.org/products/accessplatform_3_2/jpa/persistence_unit.html