我有一个名为core-project jar的maven spring项目,该项目具有orm和persistence xml文件,并在Annotation和xml中定义了实体。
现在,我有另一个Spring Boot项目,该项目利用此核心项目来初始化持久性。
在SpringBoot Main类中定义@EntityScan(packages)时,我能够扫描带注释的实体(即,用@Entity
进行扫描,但是没有扫描在orm xml中定义的实体(即,<entity>
)
获取错误为
Unable to locate persister for entity
但是,当我运行与mvn spring-boot:run相同的项目时,一切都像魅力一样运行。当我做一个java -jar时,我会遇到上述问题。
我尝试设置LocalContainerEntityManagerFactoryBean并将程序包设置为扫描但没有运气。
让我知道弹簧引导从外部jar加载基于orm xml的实体需要做什么。
注意:orm和持久性xmls是核心项目的一部分,我们不希望在Spring Boot项目中使用它。
答案 0 :(得分:0)
您可以尝试在Spring Boot项目中创建一个persistence.xml
来引用jar文件:
<jar-file>core.jar</jar-file>
我从来没有通过Spring Boot做到这一点,但是也许与“普通” Java EE应用程序一样好。