Код: Выделить всё
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "products_seq")
@SequenceGenerator(name = "products_seq", sequenceName = "products_seq", allocationSize = 1)
@Column(name = "PRODUCT_ID")
protected Integer productId;
Проблема в том, что атрибуты не содержат собственного идентификатора. Это таблица с двумя столбцами ATTRIBUTE_ID и DATE. К сожалению, ATTRIBUTE_ID не является сгенерированным идентификатором, а совпадает с Product_id из класса Products.
Я пытался добавить в класс Products:
Код: Выделить всё
@OneToOne(mappedBy = "product", cascade = CascadeType.PERSIST)
private Attributes attributes;
Код: Выделить всё
@Id
@GeneratedValue(generator = "foreign")
@GenericGenerator(name = "foreign", strategy = "foreign", parameters = @Parameter(name = "property", value = "product"))
@Column(name = "ATTRIBUTE_ID")
private Integer attributeId;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "attribute_id")
private Product product;
Я считаю, что таблица ATTRIBUTES также должна иметь идентификатор, но сейчас этого будет сложно добиться .
Есть ли правильный способ справиться с этой странной ситуацией?
Подробнее здесь: https://stackoverflow.com/questions/792 ... without-id
Мобильная версия