Baseado no dois modelos abaixo de configuração do hibernate onde:
1º Código mappingResources é mapeado todos hbm.xml manualmente. E funciona perfeitamente.
2º Código mappingResources é mapeado automaticamente todos hbm.xml. E não está funcionando.
1º Código
[code]
br/com/crm/hibernate/mapping/resources/HQLPais.hbm.xml
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@localhost:1521:xe" />
<property name="username" value="crm" />
<property name="password" value="crm" />
</bean>
<!-- ======================================================================================== -->
<!-- ========================= GERENCIAMENTO DE TRANSACAO =================================== -->
<!-- ======================================================================================== -->
<!-- CONFIGURACAO DE GERENCIAMENTO DE TRANSACAO -->
<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/>
<!-- Transaction Manager JPA -->
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
<!-- Ativa varias anotacoes para detectar as classes bean
Spring's @Required e @Autowired, JSR250 @Resource.-->
<context:annotation-config/>
<!-- ======================================================================================== -->
<!-- ============================= CARREGA OS BEANS POR PACKAGE ============================= -->
<!-- ======================================================================================== -->
<!-- BEANS SERVICE -->
<context:component-scan base-package="br.com.crm.service.impl"/>
<!-- BEANS DAO -->
<context:component-scan base-package="br.com.crm.dao.impl"/>[/code]
Porque o código acima funciona e o abaixo não na propriedade mappingResources?
2º Código
[code]
classpath*:br/com/crm/hibernate/mapping/resources/*.hbm.xml
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@localhost:1521:xe" />
<property name="username" value="xxx" />
<property name="password" value="xxx" />
</bean>[/code]
Considerações: Utilizando o sessionFactory e o mappingLocations funciona perfeitamente? Alguem pode me ajudar, pois quero utilizar dessa forma com entityManagerFactory(JPA)?
<!-- SESSION -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="mappingLocations">
<value>classpath*:br/com/crm/hibernate/mapping/resources/*.hbm.xml</value>
</property>