Spring和Hibernate:我能摆脱Hibernate.cfg.xml而仅仅依靠注释吗?

Spring和Hibernate:我能摆脱Hibernate.cfg.xml而仅仅依靠注释吗?,hibernate,spring,Hibernate,Spring,我同时使用spring和hibernate。在我的应用程序上下文中,我有以下部分: <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="configLocat

我同时使用spring和hibernate。在我的应用程序上下文中,我有以下部分:

<bean id="sessionFactory"
        class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="configLocation">
            <value>classpath:hibernate.cfg.xml</value>
        </property>
        <property name="configurationClass">
            <value>org.hibernate.cfg.AnnotationConfiguration
            </value>
        </property>

类路径:hibernate.cfg.xml
org.hibernate.cfg.AnnotationConfiguration
xml仅包含我们希望hibernate管理持久性的类的列表

我想知道我是否可以完全替换这个文件?我们可以仅仅依靠注释来发现需要ORM的类列表吗

如果在春天有可能,那怎么办?

例如

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="namingStrategy">
        <bean class="org.hibernate.cfg.ImprovedNamingStrategy" />
    </property>
    <property name="hibernateProperties">
        <props>
            <!-- Hibernate configurations -->
            <prop key="hibernate.dialect"><!-- dialect --></prop>
            <prop key="hibernate.cache.use_second_level_cache"><!-- use_second_level_cache --></prop>
            <!-- and so on -->
        </props>
    </property>

    <!-- Package to scan for entity classes -->
    <property name="packagesToScan" value="com.domain" />

    <!-- OR -->
    <property name="packagesToScan">
        <list>
            <value>com.domain1</value>
            <value>com.domain2</value>
        </list>
    </property>

    <!-- OR -->     
    <property name="annotatedClasses">
        <list>
            <value>com.domain.Entity1</value>
            <value>com.domain.Entity2</value>
        </list>
    </property>
</bean>

com.domain1
com.domain2
com.domain.Entity1
com.domain.Entity2

@Ischin:谢谢你的回答。我使用了AnnotationSessionFactoryBean,得到了以下错误消息:org.springframework.beans.factory.BeanCreationException:创建名为“sessionFactory”的bean时出错,该bean在类路径资源[MyApp.xml]中定义:初始化失败;嵌套的异常是org.springframework.beans.InvalidPropertyException:bean类[org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean]的无效属性“PackageScon”:找不到属性“PackageScon”:我正在使用这些包:org.hibernate hibernate core/hibernate annotations 3.3.1.GA;javax.persistence api 1.0和spring版本2.5.5刚刚发现了原因:该属性仅存在于spring版本2.5.6或更高版本中