Why is "annotatedClasses" needed if there is @Entity? Why is "annotatedClasses" needed if there is @Entity? spring spring

Why is "annotatedClasses" needed if there is @Entity?


Use the docs, Luke!

[...]Example for an AnnotationSessionFactoryBean bean definition:

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

Or when using classpath scanning for autodetection of entity classes:

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

As you can see you have a choice between defining all classes explicitly or only the package for scanning. <context:component-scan/> does not recognize Hibernate/JPA annotations and hence has no effect.