Как сопоставить две таблицы столбцу в третьей таблице - PullRequest
0 голосов
/ 20 октября 2019

Отображение двух таблиц в один и тот же атрибут в третьей таблице. Какие правильные аннотации использовать?

Вот sql:

CREATE TABLE `product` (

 `main_id` int(11) NOT NULL AUTO_INCREMENT,

 `type`  varchar(50) NOT NULL,

  `id` int (11)  DEFAULT NULL ,

  Foreign Key (`id`) REFERENCES `laptop`(`id`),

  Foreign Key (`id`) REFERENCES `watch`(`id`),

 PRIMARY KEY (`main_id`) 
 )

Вот важная часть таблицы продукта:

@Entity
@Table(name = "product")
public class Product {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "main_id")
private int mainId;

@NotFound(action = NotFoundAction.IGNORE)
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "id")
private Laptop laptop;

@NotFound(action = NotFoundAction.IGNORE)
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "id")
private Watch watch;

Я сопоставил идентификатор длятолько ноутбук, и он работал и работал только с часами. Но это не сработало, когда я сопоставляю идентификатор столбца двум таблицам одновременно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...