Как сделать категории товаров вложенные друг в друга на springboot?

Пытаюсь сделать вложенные категории по типу dns (комплектующие для компьютера -> процессоры, видеокарты и т. д.).

Пытаюсь реализовать через связь, что таблица Category ссылается на саму себя.

Насколько это верное решение? Какие еще есть варианты? Заранее спасибо.

package com.aya41.student.category.model;

import com.github.slugify.Slugify;
import jakarta.persistence.*;
import lombok.Data;

import java.util.List;

@Data
@Entity
@Table(name = "category")
public class Category {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(unique = true)
    private String name;

    @ManyToOne
    @JoinColumn(name = "parent_id", referencedColumnName = "id")
    private Category parent;

    @OneToMany(mappedBy = "parent", cascade = CascadeType.ALL, orphanRemoval = true)
    private List<Category> children;

    @Transient
    private String slug;

    public String getSlug() {
        final Slugify slg = Slugify.builder().build();
        return slg.slugify(name);
    }
}

Данный код не работает должным образом. Поле parent_id появляется в бд, но не заполняется через http запрос к серверу. Что я упустил?


Ответы (0 шт):