Выполните удаление в сопоставлении One-to с общим ключом - PullRequest
0 голосов
/ 14 октября 2019

У меня есть две сущности: «Назначение» (родительский) и «Драйвер» (дочерний) с сопоставлением «один к одному» с общим первичным ключом. Я пытаюсь удалить экземпляр объекта "Destination" без каскадирования его с драйвером.

Это объект Destination:

@Entity
@Table(name="destination")
public class Destination {

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

@Column(name="name")
private String name;

/*
 * Mapping
 */
//Using a Shared Primary Key
@OneToOne(mappedBy = "destination")
private Driver driver;
.....

, а это объект Driver:

@Entity
@Table(name="driver")
public class Driver {

/*
 * we'll mark the PK column (id) of Driver table as the FK to the Destination table:
 */
@Id
@Column(name="id")
private int id;

@Column(name="firstName")
private String firstName;

@Column(name="lastName")
private String lastName;

@Column(name="age")
private int age;

/*
 * Mapping
 */
/*
 * With @MapsId the (id) property serves as both PK and FK.
 * You’ll notice that the @Id column no longer uses a @GeneratedValue annotation since the identifier 
 * is populated with the identifier of the Destination association.
 */
@OneToOne
@JoinColumn(name="id")
@MapsId
private Destination destination;
....

Поскольку это общий первичный ключ, я не могу найти способ сделать это. Есть предложения?

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