У меня есть три таблицы, которые имеет отношение ManyToMany:
1. Продукт
2. Категория
3. продукт_котегория (промежуточная таблица)
@Entity
@Table(name = "category")
@Data
public class Category {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String description;
@ManyToMany(mappedBy = "category")
private List<Product> productList;
}
@Entity
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Product {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String description;
private String category;
private int price;
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name = "product_categories",
joinColumns = @JoinColumn(name = "product_id"),
inverseJoinColumns = @JoinColumn(name = "category_id"))
private List<Category> categoryList;
}
create table prouct_categories(
product_id BIGINT REFERENCES product(id),
category_id BIGINT REFERENCES category(id)
);
Проблема:
При добавлении данных в таблицу Category
вводит ошибку: org.postgresql.util.PSQLException: ОШИБКА: значение NULL в столбце "id" отношения "category" нарушает ограничение NOT NULL
Вопрос: в чем может быть ошибка? Как правильно связать две таблицы?