JPA com auto relacionamento

3 respostas
javaprogramaçãojpa
B

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

categoria

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.

3 Respostas

P

Não será antes mappedBy=“categoria” ?

B

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:

R

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;
Criado 30 de setembro de 2020
Ultima resposta 30 de set. de 2020
Respostas 3
Participantes 3