Я пытаюсь понять аннотации 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;
}
...
}
а с другой стороны у меня
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: «соединения» объявили, что оно сопоставлено «точкой запуска», но это не поле связанного типа.
как правильно отобразить это?