Hibernate - аннотированные объекты, которые не отсканированы изнутри банки - PullRequest
6 голосов
/ 20 октября 2010

У меня есть пакет, содержащий аннотированные классы сущностей, которые я импортирую в свой веб-проект.Когда tomcat развертывает проект, класс сущностей, которые находятся в банке, не сканируется для аннотаций.Есть ли способ сказать Spring для поиска аннотированных классов внутри файла JAR?т.е.:

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

Ответы [ 3 ]

8 голосов
/ 12 января 2011

Ищите: http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/orm/hibernate3/annotation/AnnotationSessionFactoryBean.html

второй пример:

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
  <property name="dataSource" ref="dataSource"/>
  <property name="packagesToScan" value="test.package"/>
</bean>

Поместите два символа подстановки для сканирования всех подпакетов.(например: "test.package. **")

6 голосов
/ 20 октября 2010

Если вы имеете в виду @Entity аннотированные классы, <context:component-scan> не имеет к ним никакого отношения.@Entity классы обнаруживаются Hibernate, поэтому вам нужно настроить Hibernate, а не Spring.

Если вы используете Hibernate через JPA (т.е. у вас есть persistence.xml), вам нужно добавить следующую строку в persistence.xml, чтобы отсканировать /WEB-INF/lib/yourFileWithEntities.jar для классов сущностей:

<jar-file>lib/yourFileWithEntities.jar</jar-file>
1 голос
/ 16 августа 2011

используйте spring3.1 или используйте тег <class>com.***.***<class> для добавления класса сущности в ваш файл persistence.xml.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...