EntityManager não é injetado no Spring[Resolvido]

4 respostas
leonardobhbr

Estou usando spring+jpa+toplink
só que meu entitymanager nao é injetado automaticamente ele sempre vem null

Se eu fizer pelo comando abaixo funciona perfeitamente

minha classe com o entity ta como abaixo

public abstract class GenericDAOImpl<T extends Serializable, ID extends Serializable> implements GenericDAO<T, ID>
{		
	@PersistenceContext	
	private EntityManager	entityManager; 

	
	public EntityManager getEntityManager()
	{
		return entityManager;
	}
	
		
	public void setEntityManager(EntityManager entityManager)
	{
		this.entityManager = entityManager;
	}
}

segue meu applicationContext

4 Respostas

D

Você está usando em um projeto Web?
Se for, poderá mandar o web.xml tb, pois ele tb faz parte da configuração.

leonardobhbr

Sim e na web segue o web.xml

bsl.lacerda

Não sei se vc já conseguiu resolver…
Caso contrário tenta adicionat este bean no seu applicationContext.xml.

<!-- configuracao 1 
		 + Classe que procura todas as classes anotadas com @PersistenceContext 
		 + e faz a injecao de dependencia do entityManager obtido atraves da factory.
		 + Injetando o persistence context desta forma nao e necessario que os daos estendam a classe
		 + jpaDaoSupport para ter acesso as operacoes do EntityManager atraves do metodo getJpaTemplate
	-->
	<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />
leonardobhbr

Obrigado pela resposta so que descobrir que o erro estava ocorrendo pela minha estrutura de classes e interfaces que por algum motivo ele não injetava. Fazendo um exemplo simples com apenas uma classe funcionou.

Criado 21 de dezembro de 2008
Ultima resposta 22 de dez. de 2008
Respostas 4
Participantes 3