Olá galera, estou com um problema no Hibernate, se puderem me ajudar eu agradeço…
Tenho 2 classes, uma classe Produto e uma classe Documento, onde minha classe Produto tem um relacionamento One-to-Many com a classe Documento.
@Entity
public class Produto {
@OneToMany
@Cascade(value={CascadeType.ALL, CascadeType.DELETE_ORPHAN})
private List<Documento> documentos;
//Getters e Setters
}
public class Documento {
//Atributos
//Getters e Setters
}
Quando vou editar o cadastro de produtos busco apenas informações que desejo alterar (Exemplo: nome, descricao, etc), ou seja, minha lista de documentos eu não recupero, quando mando o objeto pra UI ele torna-se detached. Eu altero as informações necessárias e quando o objeto detached chega na camada de persistencia eu abro a sessão do Hibernate novamente e chamo o método session.merge(produto). Quando vou commitar essa transação, o Hibernate retorna uma exception: A collection with cascade=“all-delete-orphan” was no longer referenced by the owning entity instance.
Alguém tem alguma idéia de como resolver isso. Meu objeto quando dou merge continua com a lista de documentos nula, ele não é exibida como uma PersistenceBag, como eu pensava que deveria ser.
Alguém tem ideia do que eu possa fazer. Creio que seja algo simples, mas está me dando dores de cabeça.
Obrigado a todos.