[英]JPA entity containing a class from an external jar
我正在使用JPA和Hibernate构建Roo Webapp。 我有一个从Webapp引用的图书馆项目。 Roo Webapp具有以下实体:
@RooJpaEntity
@RooJavaBean
public class UpdatePolicyHolder {
@ElementCollection(targetClass=Policy.class)
private List<Policy> policies;
private String deviceId;
private long timestamp;
}
Policy
类在一个外部库中定义,并包含在一个jar文件中。 启动应用程序时,Hibernate抱怨无法确定Policy
的类型:
Could not determine type for: com.company.policy.Policy, at table:...
我似乎找不到关于包含的外部类问题的任何在线信息。 我尚未对Roo生成的标准persistence.xml文件进行任何更改。 我确实修改了applicationContext.xml文件,以确保实体和Policy
类的包都被组件扫描元素覆盖。
该webapp项目打包为war,目前通过mvn jetty:run
命令mvn jetty:run
。 通过Maven依赖项包含包含Policy
的jar。
包含Policy的jar必须包含META-INF/persistence.xml
以使第三方应用程序扫描该jar中的实体。
然后设置Spring EntityManagerFactory
来扫描持久实体:
<bean class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
id="entityManagerFactory">
<property name="persistenceUnitName"
value="UNIT_NAME_OF_POLICY_PERSISTENCE_XML"/>
<property name="dataSource" ref="..."/>
<property name="packagesToScan" value="com.company.policy" />
...
</bean>
问候
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.