データ モデルに多対多のリレーションシップがいくつかあります。私は JAX=B を使用してデータ モデルの XML 表現を取得しようとしましたが、1 対多の関係については次のように読みました。
@XmlInverseReference
マッピングの逆側に必要です。これは、異なるフェッチ タイプ (つまり、LAZY と EAGER) を使用するためだと思います。この注釈がどのように機能するか正確にはわかりません。特定のフィールドで指定されたときにデータがフェッチされないように、バック ポインターを使用しますか? また、上記の注釈を使用して多対多の関係に注釈を付ける必要があるかどうかもわかりません。
これは、それ自体と多対多の関係を持つユーザークラスです。ユーザーは他の多くのユーザーと友達になることができます。@XmlInverseReference でゲッターに注釈を付ける必要がありますか?
@Entity
@Table(name = "users")
public class User implements Serializable {
...
// bi-directional many-to-many association to User
@ManyToMany(cascade = { CascadeType.PERSIST, CascadeType.MERGE,
CascadeType.REFRESH })
@JoinTable(name = "friends", joinColumns = { @JoinColumn(name = "uid") }, inverseJoinColumns = { @JoinColumn(name = "frienduId") })
private List<User> friends;
/**
* @return
*
* gets the list of users this user is friends with
*/
public List<User> getFriends() {
return this.friends;
}
/**
* @param friendsList
*
* sets the users friends list
*/
public void setFriends(List<User> friendsList) {
this.friends = friendsList;
}
どんな助けや指導も大歓迎です。