且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Hibernate - 弹簧注释的实体不从jar中扫描

更新时间:2023-02-13 12:18:12

如果您的意思是 @Entity 注释类,< context:component-scan> 与它们无关。 @Entity 类是由Hibernate发现的,所以你需要配置Hibernate,而不是Spring。

如果您通过JPA使用Hibernate(即您有 persistence.xml ),则需要添加以下行为了扫描实体类的 /WEB-INF/lib/yourFileWithEntities.jar :$ c> persistence.xml p>

 < jar-file> lib / yourFileWithEntities.jar< / jar-file> 


I have a package containing annotated entity classes that I import into my web project. When tomcat deploys the project the entity class that are in the jar are not scanned for annotations. is there a way to tell spring to search for annotated classes inside a jar file? i.e. :

<context:component-scan base-package="{path to jar or something}"/>

If you mean @Entity annotated classes, <context:component-scan> has nothing to do with them. @Entity classes are discovered by Hibernate, so you need to configure Hibernate, not Spring.

If you use Hibernate via JPA (i.e. you have persistence.xml), you need to add the following line to persistence.xml in order to scan /WEB-INF/lib/yourFileWithEntities.jar for entity classes:

<jar-file>lib/yourFileWithEntities.jar</jar-file>