Dúvida simples de Hibernate com Spring

0 respostas
silvano.pessoa

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
<!-- ======================================================================================== -->
 	<!-- ========================= CONFIGURACAO DO HIBERNATE ========================================= -->
 	<!-- ======================================================================================== -->
	<!-- Entity Manager Factory -->
	<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
		<property name="dataSource" ref="dataSource"/>
		<property name="persistenceProviderClass" value="org.hibernate.ejb.HibernatePersistence"/>
	 	<property name="packagesToScan" value="br.com.crm.model.entity" /> 
	 	<property name="mappingResources">
                    <list>
                      <value>br/com/crm/hibernate/mapping/resources/HQLPais.hbm.xml</value>
                    </list>
        </property>
	 </bean>
	 
	 <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"/>

Porque o código acima funciona e o abaixo não na propriedade mappingResources?

2º Código
<!-- ======================================================================================== -->
 	<!-- ========================= CONFIGURACAO DO HIBERNATE ========================================= -->
 	<!-- ======================================================================================== -->
	<!-- Entity Manager Factory -->
	<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
		<property name="dataSource" ref="dataSource"/>
		<property name="persistenceProviderClass" value="org.hibernate.ejb.HibernatePersistence"/>
	 	<property name="packagesToScan" value="br.com.crm.model.entity" /> 
	 	<property name="mappingResources">
	 		<list>
      			<value>classpath*:br/com/crm/hibernate/mapping/resources/*.hbm.xml</value>
      		</list> 
        </property>
	 </bean>
	 
	 <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>

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>
Criado 12 de abril de 2012
Respostas 0
Participantes 1