JPA アノテーションを使用して、テーブル (RoutePlace) とそれ自体との多対多の関係を作成したいと考えています。結合したいテーブルの特異点は、複合キーがあることです。
例: https://h4losw2.files.wordpress.com/2008/10/tables.png
助言がありますか?
前もって感謝します
JPA アノテーションを使用して、テーブル (RoutePlace) とそれ自体との多対多の関係を作成したいと考えています。結合したいテーブルの特異点は、複合キーがあることです。
例: https://h4losw2.files.wordpress.com/2008/10/tables.png
助言がありますか?
前もって感謝します
あなたの質問が正しいかどうかわかりませんが、次のような意味ですか。
@IdClass(RoutePlacePK.class)
@Entity
public class RoutePlace {
private Collection<RoutePlace> route;
@ManyToMany(mappedBy = "place")
public Collection<RoutePlace> getRoute() {
return route;
}
public void setRoute(Collection<RoutePlace> route) {
this.route = route;
}
private Collection<RoutePlace> place;
@ManyToMany
public Collection<RoutePlace> getPlace() {
return place;
}
public void setPlace(Collection<RoutePlace> place) {
this.place = place;
}
}
複合主キー ラッパー クラス:
public class RoutePlacePK {
private int routeID;
private int placeID;
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
RoutePlacePK that = (RoutePlacePK) o;
if (placeID != that.placeID) return false;
if (routeID != that.routeID) return false;
return true;
}
public int hashCode() {
int result;
result = routeID;
result = 31 * result + placeID;
return result;
}
}