一尘不染

如果有@Entity,为什么需要“ annotatedClasses”?

hibernate

您好,我正在构建Spring-Hibernate应用程序。我真的需要从下面进行配置吗?

    <property name="annotatedClasses">
        <list>
            <value>org.fixus.springer.model.User</value>
        </list>
    </property>

我已经在我的root-context.xml中设置了注释驱动

<mvc:annotation-driven />
<context:component-scan base-package="org.fixus.springer" />
<context:component-scan base-package="org.fixus.springer.model" />

现在是否不应该使用注释@Entity自动hibernate此包中的所有内容并将其转换为table?就目前而言,没有annotatedClasses的他不会从实体创建表


阅读 474

收藏
2020-06-20

共1个答案

一尘不染

使用 文档,卢克!

[…] AnnotationSessionFactoryBean bean定义的示例:

<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>

或在使用类路径扫描自动检测实体类时:

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

如您所见,您可以在显式定义所有类或仅定义要扫描的包之间进行选择。<context:component-scan/>无法识别Hibernate /
JPA注释,因此无效。

2020-06-20