JPA...Erro quando find e merge são usados?

3 respostas
P

é errado usar os metodos abaixo quando tento usar find e merge junto da erro EntityManager is close ???

não entendi pois quando uso o find vou dar um select e qdo saio fecho

e vou tentar dar um update …

O conceito não seria o mesmo qdo se usa JDBC (COnnection,preparedStatement) a cada acesso fechar
pra não deixar conexão no banco em aberto …???

se alguém puder me ajudar …

public T find(T entity) throws DaoException {
    	T t = null;
    	try {
    		t = dMANAGER.getManager().find(domainClass, entity);
    		return t;
    	} catch(Exception e) {
    		throw new DaoException(getErrorCode(METHOD_FIND_BY_CLASS), "Can not find by Class", e);
    	}finally{
    		dMANAGER.Close();
    	}
    }

 public void remove(T t) throws DaoException {
    	try {
    		dMANAGER.getManager().merge(t);
    	} catch(Exception e) {
    		throw new DaoException(getErrorCode(METHOD_REMOVE), "Can not remove", e);
    	}finally{
    		dMANAGER.Close();
    	}
    }

3 Respostas

Rafael_Carneiro

Sim, mas o problema é que você está criando o EntityManager no escopo de classe (variável de instância) e está utilizando essa variável em vários métodos. Portanto, é normal estar acontecendo esse problema, pois você chama um método e este primeiro método fecha o EntityManager.

Com certeza irá ocorrer o erro na chamada de um segundo método.

P

normalmente como seria teria algum exemplo ou url pra mim da uma olhada…

abs

Rafael_Carneiro

Leia esse tutorial: http://j2eebrasil.com.br/mostrar/76

Criado 8 de janeiro de 2009
Ultima resposta 8 de jan. de 2009
Respostas 3
Participantes 2