Eu tenho duas tabela no meu banco de dados uma chamada pai e outra chamada filho, cadastro os dois normalmente e verifico no banco que ambos estão persistidos, mas sempre que altero o nome do pai e abro a tela do filho o nome do pai não foi alterado, a não ser que eu feche e abra minha aplicação novamente… O que acho confuso é que no banco essa alteração foi feita… acredito que isso seja alguma coisa relacionada ao EclipseLink alguém sabe o que posso fazer?
Métodos que pegam a lista de Pai e de Filhos
Dao.getListaPai();
Dao.getListaFilho();
Detalhe desses métodos:
public static List getListaFilho() {
List lista = new ArrayList<>();
try {
EntityManager em = Dao.getFactory().createEntityManager();
String comando = “SELECT f FROM Filho f”;
TypedQuery query = em.createQuery(comando, Filho.class);
lista = query.getResultList();
em.close();
} catch (Exception ex) {
Alerta.mostra(ex.getMessage());
}
return lista;
}
Edit***
Uma curiosidade é que se eu duplicar o select da maneira abaixo ele atualiza normalmente, o que tem de errado com meu código?
public static List getListaFilho() {
List lista = new ArrayList<>();
try {
EntityManager em = Dao.getFactory().createEntityManager();
String comando = “SELECT f FROM Filho f”;
TypedQuery query = em.createQuery(comando, Filho.class);
lista = query.getResultList();
em.close();
EntityManager em = Dao.getFactory().createEntityManager();
String comando = “SELECT f FROM Filho f”;
TypedQuery query = em.createQuery(comando, Filho.class);
lista = query.getResultList();
em.close();
} catch (Exception ex) {
Alerta.mostra(ex.getMessage());
}
return lista;
}