Integração Spring e Hibernate não executa query

2 respostas
maiconramones

Bom dia pessoal. Depois de muito tempo sem mecher com o spring e com hibernate resolvi fazer um projetinho pra desenferrujar, mas não bombou :frowning:

Configurei o spring e o hibernate, porém na hora de fazer uma query, a query é executa e não retorna nenhum resultado. Nas minhas configurações já coloquei a propriedade hibernate.show_sql para true e no log não aparece nenhuma query sendo realizada e as configurações de acesso ao banco estão corretas.

A unica coisa que aparece no meu log ao fazer uma query é:

10:57:45,828 27/08/2010 Sexta-feira DEBUG [DefaultListableBeanFactory] Returning cached instance of singleton bean 'org.springframework.transaction.interceptor.TransactionInterceptor#0’
10:57:45,828 27/08/2010 Sexta-feira DEBUG [HibernateTemplate ] Found thread-bound Session for HibernateTemplate
10:57:45,859 27/08/2010 Sexta-feira DEBUG [HibernateTemplate ] Not closing pre-bound Hibernate Session after HibernateTemplate
10:58:00,343 27/08/2010 Sexta-feira DEBUG [OpenSessionInViewFilter] Closing single Hibernate Session in OpenSessionInViewFilter
10:58:00,343 27/08/2010 Sexta-feira DEBUG [SessionFactoryUtils ] Closing Hibernate Session

Alguém tem alguma idéia do que pode estar acontecendo?

Um trecho do meu applicationContext:

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
       <property name="dataSource" ref="dataSource" />  
       <!--property name="packagesToScan" value="com.pnp"/-->
       <property name="configLocation" value="classpath:hibernate.cfg.xml" />
    </bean>
    
   <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">  
      <property name="sessionFactory" ref="sessionFactory" />  
   </bean>
   
   <tx:annotation-driven transaction-manager="transactionManager" />

E o trecho do meu hibernate.cgf.xml

<session-factory>
		<property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
		<property name="hibernate.current_session_context_class">thread</property>
		<property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
		<property name="hibernate.query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>
		<property name="hibernate.show_sql">true</property>
		<property name="hibernate.format_sql">true</property>
	</session-factory>

2 Respostas

zoren

Acredito que faltou o mapeamento de suas classes no arquivo do hibernate

<mapping class="br.com.alguma.coisa.MinhaClasse" />
maiconramones

Zoren você estava certo realmente não tinha nenhuma entidade mapeada.

Porém quando coloco o “mapping class” no hibernate.cfg.xml ocorre um erro estranho no deploy:

[color=red]The content of element type “session-factory” must match “(property*,mapping*,(class-cache|collection-cache),event,listener*)”.[/color]

Para contornar isso tive que usar o atributo [color=blue]property name=“packagesToScan”[/color] do bean da minha sessionFactory (AnnotationSessionFactoryBean)…

E ai neste caso descobri mais um bug bizarro do maven que por algum motivo não baixou o jar do javassit… feito isso a aplicação funcionou…

Criado 27 de agosto de 2010
Ultima resposta 27 de ago. de 2010
Respostas 2
Participantes 2