У меня есть два объекта, как показано ниже, когда я пытаюсь добавить элементы в свой автомобильный стол, он показывает следующее сообщение об ошибке, поэтому он не позволяет мне иметь более одного автомобиля с передачей "Авто".
Ошибка:
#1062 - Duplicate entry 'Auto' for key 'UK_bca5dfkfd4fjdhfh4ddirfhdhesr'
Объекты:
Автомобиль
@Entity
public class Car implements java.io.Serializable {
@Id
@GeneratedValue
long id;
@Column(name="transmission", nullable = false)
String transmission;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "car")
Set<CarFactory> factories;
...
}
Примеры значений для таблицы автомобилей:
10 Auto
12 Auto
43 Manual
54 Manual
65 Normal
68 Standard
90 Normal
99 NoGear
CarFactory
@Entity
public class CarFactory implements java.io.Serializable {
@Id
@JoinColumn(name="transmission",referencedColumnName = "transmission")
@ManyToOne
Car car;
@Id
@JoinColumn(name="factory_id", referencedColumnName= "id")
@ManyToOne
Factory factory;
...
}
Ожидаемые значения для таблицы CarFactory
Auto Fac1
Auto Fac2
Manual Fac1
Auto Fac5
Standard Fac6
Normal Fac3
NoGear Fac1
Ive последовал за ответом этого question, но это не сработало.
Короче говоря, мне нужно иметь таблицу с двумя внешними ключами из других таблиц с комбинированным первичным ключом. Он не должен форсировать уникальный внешний ключ в участвующих таблицах.