我有一个jar文件和该jar文件中meta inf中的persistence.xml。我想使用配置persistence.xml <jar-file>
. 我还有一个lib目录和jar文件在同一个文件夹中。但我找不到正确的道路 <jar-file>
标签。我试过了;
<jar-file>lib/entity.jar</jar-file>
<jar-file>../lib/entity.jar</jar-file>
<jar-file>./lib/entity.jar</jar-file>
<jar-file>../../lib/entity.jar</jar-file>
但是没有运气。实体管理器在entity.jar中找不到实体
1条答案
按热度按时间0x6upsns1#
正如JPA2.2规范所述(参见第8.2.1.6.3节jar文件):
可以使用jar文件元素来指定一个或多个jar文件,而不是使用Map文件元素中指定的Map文件,或者除了Map文件元素中指定的Map文件之外。如果指定,将在这些jar文件中搜索托管持久性类,并处理在其上找到的任何Map元数据注解,或者使用本规范定义的Map注解默认值Map它们。此类jar文件是相对于包含[91]持久化单元根的目录或jar文件指定的。[92]
...
[91]此语义适用于写入persistence_2_0.xsd或更高版本模式的persistence.xml文件。由于java persistence 1.0规范中的模糊性,该元素使用的相关引用的特定于提供者的解释可能适用于早期版本。
[92]鼓励持久性提供程序支持此语法,以便在java se环境中使用。
您的案例类似于规范中的示例1:
但是,如果您使用JPA1.0,您应该检查特定于提供者的文档的相关部分。