Problema com EJB - [JDBCExceptionReporter] Transaction is not active [RESOLVIDO]

2 respostas
neno

Amigos,

Estou tendo um problema ao fazer uma consulta via EJB

o erro ocorre quando eu chamo o método

public LeigoPJ buscaLeigosByCnpjUnico(String cnpj) {

		Query query = em.createQuery("select lpj from LeigoPJ lpj where lpj.pessoaJuridica.cnpj = :cnpj order by lpj.registro");
		query.setParameter("cnpj", cnpj); 
		query.setMaxResults(1);
		try{
			return (LeigoPJ) query.getSingleResult();	//nessa linha ele lança o erro
		}catch (NoResultException e) {
			e.printStackTrace();
			return null;
		}
		
		
	}
ele me retorna o seguinte erro no console
18:11:33,503 WARN  [JDBCExceptionReporter] SQL Error: 0, SQLState: null
18:11:33,503 ERROR [JDBCExceptionReporter] Transaction is not active: tx=TransactionImpl:XidImpl[FormatId=257, GlobalId=programador01-desktop/87, BranchQual=, localId=87]; - nested throwable: (javax.resource.ResourceException: Transaction is not active: tx=TransactionImpl:XidImpl[FormatId=257, GlobalId=programador01-desktop/87, BranchQual=, localId=87])
18:11:33,506 WARN  [AbstractExceptionHandler] Unhandled exception
javax.ejb.EJBTransactionRolledbackException: javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: Cannot open connection

Eu possuo outros métodos na mesma classe porem so nesse metodo especifico ocorre esse erro.

Ja tentrei replicar o metodo alterando a forma de fazer a consulta ebjql, mas deu no mesmo.
Alguem sabe o que pode ser isso?

2 Respostas

leo_mf

Rapaz

Tenta eliminar a linha 5. Provavelmente não vai resolver, mas é uma linha inútil aí.

A causa do problema pode estar antes de chamar este método.

neno

Hehe pode crer, tinha um excecao que estava sendo tratada como nao deveria antes de chamar esse método :smiley:

Doidera, so não entendi porque ele entrava no método ja que o problema estava antes de chamar ele… enfim, valeu!!

ps: sobre a linha 5, precisa sim, porque na tabella tem cnpj duplicado (haha, vai entender :p)

Criado 23 de novembro de 2010
Ultima resposta 24 de nov. de 2010
Respostas 2
Participantes 2