Pessoal,
Estou tentando fazer um @autowire de uma org.hibernate.SessionFactory no meu DAO utliizando o Spring 3 com Hibernate 3.
Na minha DAO coloquei o seguinte código:
@Autowired
@Qualifier("sessionFactoryGeral")
private SessionFactory sessionFactory;
@Override
public void setFSessionFactory()
throws Exception {
setSessionFactory(sessionFactory);
}
Configurei os seguintes Beans no meu applicationContext.xml
<bean id="sessionFactory" abstract="true"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
</bean>
<bean id="sessionFactoryGeral"
parent="sessionFactory">
<property name="dataSource" ref="dataSourceFoursys"/>
<property name="annotatedClasses">
<list>
<value>br.com.foursys.entities.persistence.Pessoa</value>
</list>
</property>
</bean>
Mas quando vou subir meu tomcat ele mostra a seguinte mensagem de erro:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘pessoaDAOImpl’: Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.hibernate.SessionFactory br.com.foursys.pessoa.persistence.impl.PessoaDAOImpl.sessionFactory; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [org.hibernate.SessionFactory] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true), @org.springframework.beans.factory.annotation.Qualifier(value=sessionFactoryGeral)}
Me parece que o tipo não está casando, mas o Spring não deveria achar a dependência automaticamente?
Obrigado,