Mam klasę Item w którego w skład wchodzi nazwa, cena i kategoria. Mam też encje kategoria (id, (unikalna) nazwa) którą już sobie powsadzałem do bazy danych. Teraz chcę dodać sobie item do bazy danych z zdefiniowaną kategorią, ale jej już nie dodawać - no bo już dodałem wcześniej, co najwyżej wskazać id tej kategorii w tabelce item. Jak to osiągnąć?
@Table
@Entity
public class Item {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
@Column
private BigDecimal basicPrice;
@ManyToOne(cascade = CascadeType.ALL)
private Category category;
@Column
private String name;
....
}
@Entity
@Table(name = "category")
public class Category {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
@Column(unique = true)
private String name;
....
}
Na obecną chwilę dostaję na twarz PSQLException informujący że duplikuję wartość name w kategorii przy próbie wsadzenia itema do bazy danych.