0

您好我正在尝试使用 EclipseLink 开发 JPA 应用程序。我正在尝试在没有persistence.xml 的情况下创建它,或者至少将在运行时创建持久性单元。所以我有一个空的(或者说是虚拟的)persistence.xml 开始。我在没有persistence.xml 的情况下查看了这个post eclipselink,但在调试后我注意到,EL 强制至少声明PU 名称,并且可以在运行时设置所有其他参数(包括提供程序)。有没有办法,PU只能在运行时创建?我正在尝试根据应用程序中仅在运行时已知的类别数量创建多个 PU。

目前我正在覆盖除名称(我无法覆盖)之外的所有其他参数,并为每个类别创建一个 EM 工厂。

提前致谢,

戈皮

4

1 回答 1

2

JPA 在 PersistenceProvider 中定义了一个不需要 persistence.xml 的 createContainerEntityManagerFactory(PersistenceUnitInfo info, Map properties)(容器负责处理它)。您可以直接在 EclipseLink PersistenceProvider 上调用它,并传递您自己的 PersistenceUnitInfo。

您可能想查看 EclipseLink 多租户支持,

http://www.eclipse.org/eclipselink/documentation/2.4/solutions/multitenancy.htm#CHDBJCJA

于 2013-05-30T13:47:51.080 回答