MapKeyとMapKeyColumnの注釈を理解しようとしていますが、混乱していることがわかりました。マップキーがintのところで一対一マッピングする場合
public class Connections{
...
public final int getConnectionId() {
return this.connectionId;
}
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "FK_StartpointTNA")
public final Endpoint getStartpoint() {
return this.startpoint;
}
...
}
と反対側に私が
を持っている:私はint型のフィールドを持つエンティティを持っており、それが主キーではありません、私はさらに混乱して作られた an article(指定部)を読んでいました
public class Endpoint{
...
@OneToMany(mappedBy = "startpoint", fetch = FetchType.LAZY, cascade = { javax.persistence.CascadeType.REMOVE })
@MapKeyColumn(name = "connectionId")
public Map<Integer, Connections> getConnections() {
return this.connections;
}
....
}
本当にこれを修正する方法はわかりません。私は取得し続けています:org.apache.openjpa.persistence.ArgumentException: "接続"は "startpoint"によってマッピングされていると宣言しましたが、関連する型のフィールドではありません。
これをマップする適切な方法は何ですか?
。私が開いたジラが言うように。私はすでにそれを知っている;)。気になるマイグレーション...奇数 – santiagozky