Olá galera.
Estou tentando aplicar o conceito de repository aqui num pequeno projeto. E como meio de persistência estou usando JPA. Estou fazendo uns testes de performance com uma tabela bem simples, sem relacionamento com 3 campos String e um Long. Eu insiro, consulto e logo após deleto os registros.public class Client implements Serializable{
private static final long serialVersionUID = 1L;
@Id @GeneratedValue
private Long id;
private String nome;
private String endereco;
private String telefone;
@Transient
private ClientRepository repository;
...
public void remove() throws BusinessException {
repository.remove(id);
}
//outros metodos...
}
Aqui estão os codigos:
Metodo da classe Main que remove o client.public static void remover(List<Client> listClient){
for (Client cliente : listClient){
cliente.remove();
}
}
public class ClientDao implements ClientRepository {
JpaDAOFactory dao;
public ClientDao(){
dao = (JpaDAOFactory)DAOFactory.getInstance();
}
//Neste metodo que causa a exception
public void remove(Long id) {
try{
dao.txBegin();
Client client = this.findById(id);
dao.getManager().remove(client);
dao.txCommit();
}catch (DAOException e){
dao.txRollback();
throw e;
}finally{
dao.shutdown();
}
}
}
Já estou dois dias tentando resolver este problema da heap space e não consigo entender o que está acontecendo.
Não sei se fui bem claro na minha duvida. Se não fui, postem pra mim tentar colocar de outra maneira.
Valeu...