Estou enfrentando problemas com hibernate que parece estar relacionado ao objeto de cache.
Eu tenho uma entidade, vamos chamá-la A, com um atributo lista mapeada com @OneToMany (cascade = CascadeType.ALL, mappedBy = “atributo”). Os objetos da lista são entidades de classe B e tem um relacionamento bidirecional com A. Então B tem um atributo mapeado com @ManyToOne (cascade = CascadeType.MERGE). Recebo o objeto A partir do banco de dados e adiciono um novo objeto B na lista A usando a chamada e Session.update (A).
O problema surge quando eu listo todos os objetos do tipo A, usando a chamada “session.createCriteria (A.class) .list ();”, acesso exatamente a um objeto A que eu atualizei e o objeto B que eu adicionei NÃO está presente na lista. Ao abrir o bando de dados (postgres) tanto o objeto A quanto o objeto B estão atualizados e corretamente salvos no banco, porém na consulta realizada (Criteria) os dados não são os mesmos algumas vezes, hora a quantidade de objetos B está correta, hora está faltando algum elemento B na lista.
Tentei usar session.refresh (A) após a atualização A, mas o problema ainda persiste.