Я использую спящий режим, и у меня есть две таблицы (устаревшие, их нельзя реструктурировать), как показано ниже
Таблица А
@Entity
@Table(name = "tableA")
public Class TableA implements Serializable {
@EmbeddedId private TableAId tableAId;
@OneToOne(mappedBy = "tableA")
private TableB tableB;
// getters, setters, hashCode and equals ommited
}
Составной идентификатор таблицы A
@Embeddable
public class TableAId implements Serializable {
protected int id1;
protected String id2;
protected int id3;
// getters, setters, hashCode and equals ommited
}
Таблица B
@Entity
public class TableB implements Serializable {
@OneToOne
@JoinColumn(name = "tableB", referencedColumnName = "id3")
protected TableA tableA;
// getters, setters, hashCode and equals ommited
}
Как видно из приведенного выше кода, мне нужна эта таблица B для присоединения к таблице A с использованием одного или нескольких (не всех) свойств составного ключа таблицы. Я уже безуспешно пробовал с этими тремя подходами:
- Точно так же, как код выше.
Изменение значения referencedColumnName следующим образом
referencedColumName = "tableAId.id3"
Добавление свойств, которые составляют составной ключ, также в сущности pojo TableA, например:
// TableA @Column(name = "id1", insertable = false, updatable = false) private Integer id1;
Я буду признателен, если это вообще возможно ??, если это любая помощь !!