Я пытаюсь создать взаимно-однозначное отношение между классами, давайте назовем его «Первый», а другой - назовем его вторым.
Это не позволит мне сделать это, если класс Second использует @EmbeddedId в качестве первичного ключа, как мне обойти это?
В основном структуры выглядят следующим образом:
@Entity
class First {
private Integer id;
private Second second;
@OneToOne
@JoinColumn(name="id", referencedColumnName="parentId", nullable=true)
public Second getSecond() {return second;}
... snip irrelevant methods ...
}
@Entity
class Second{
private Integer id;
private Integer parentId;
... snip irrelevant methods ...
}
выше работает нормально, но если я изменю его на
@Entity
class Second{
private MyCustomKey key;
private Integer parentId;
... snip irrelevant methods ...
}
Я получаю ошибку "Сломанное отображение".
Я не вижу разницы, так как оба идентификатора назначены вручную? И рабочая версия с целочисленным идентификатором, и встроенный идентификатор.