我的persistence.xml位于A.jar中,实体类位于B.jar中。当尝试使用实体管理器(来自A.jar)创建查询时,我遇到异常,说它无法找到NamedQueries。但是,命名查询使用注释在实体类中列出。
尝试使用<jar-file/>
在persistence.xml中包含B.jar,但它不起作用。这是我尝试过的。
<persistence>
<persistence-unit name="myapp">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:/DefaultDS</jta-data-source>
<properties>
... ...
</properties>
<jar-file>lib/B.jar</jar-file>
<jar-file>../lib/B.jar</jar-file>
<jar-file>WEB-INF/lib/B.jar</jar-file>
<jar-file>B.jar</jar-file>
<class>com.mypackage.Bar</class>
<class>com.mypackage.Foo</class>
</persistence-unit>
</persistence>
答案 0 :(得分:0)
弄清楚我的问题。
<jar-file/>
没有必要。
除了当前jar之外的jar中的所有实体类都应列在<class/>
中,应配置persistence.xml以使<class/>
节点位于<properties/>
前面(XML模式)将所有节点定义为序列)。