我正在尝试在 OSGi 环境中使用 EclipseLink。
我想要做的是,构建一个提供程序包,将 EntityManager 公开给其他包。
问题是,实体类无法在编译时确定并写入 persistence.xml 文件。所以我希望能够以编程方式定义实体类。我可以扫描所有实体类,但据我所知,无法在 EclipseLink 中定义它,而在 Hibernate 中可以。 (Hibernate在OSGi环境中存在一些不同的问题,所以我也无法使用它)
如何以编程方式定义实体类?
注意:使用 spring 对我来说不是一个选择;从头开始定义 ClassDescriptor 是 Not Acceptable 。我必须说,JPA 和 EclipseLink 都不直接支持这样一个重要的功能,这真的很愚蠢。
最佳答案
你试过吗<jar-file>
persistence.xml 中的标签?
您可以将所有持久性类打包到 jar 中,将其包含到持久性单元包和持久性 xml 中。
JPA2 规范 8.2.1.6.3 中的更多详细信息
关于java - 在 EclipseLink 中以编程方式创建 <class> 定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9763371/