JPA com auto relacionamento

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.

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;