Spring и Hibernate: могу ли я избавиться от hibernate.cfg.xml и полагаться только на аннотации? - PullRequest
3 голосов
/ 10 ноября 2011

Я использую весну и зимнюю спячку вместе.В контексте моего приложения у меня есть этот раздел:

<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 содержит только список классов, которые мы хотим, чтобы hibernate управлял персистентностью.

Интересно, смогу ли я полностью заменить этот файл?Можем ли мы просто полагаться только на аннотации, чтобы найти список классов, которым требуется ORM?

Если это возможно весной, то как?

1 Ответ

10 голосов
/ 10 ноября 2011

С АннотацияSessionFactoryBean

Например

<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...