Olá!
Gente, estou com uma dúvida/problema…
Estou voltando a estudar java e me deparei com a seguinte situação:
Criar um crud de Categoria, sendo que Categoria pode ter pais, conforme imagem abaixo
Eu fiz dessa forma:
@Column
private String nome;
@ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JoinColumn(name = “categoria_pai”, referencedColumnName = “id”)
private Categoria categoria;
@OneToMany(mappedBy = “id”, cascade = CascadeType.ALL)
private List categorias;
Mas em categorias não vem a lista de categorias filhas, etc.
pmlm
#2
Não será antes mappedBy=“categoria” ?
Tinha esquecido de falar tbm…
quando eu vou cadastrar conforme abaixo, dá erro:
{
“nome”: “Pneu”,
“categoria” : {
“id”: 1,
“nome”: “Borracha”
}
}
"detached entity passed to persist:nested exception is org.hibernate.PersistentObjectException:
Criaria sem a lista de subcategorias e quando você precisar retornar uma categoria e todas as suas sub usaria um DTO.
@Column(unique=true, nullable=false)
private String nome;
@ManyToOne(cascade = [CascadeType.REMOVE], fetch = FetchType.EAGER)
@JoinColumn(name = "id_pai", referencedColumnName = "id", table = "categoria")
private Categoria categoria;