ユーザークラスがあり、ユーザーには友達のリストが必要です。友達もユーザーであるため、すべてのユーザーには多くの友達が必要であり、明らかにそれらの友達(ユーザー)のそれぞれにも多くの友達(ユーザー)がいます。
したがって、これまでのところ、ユーザーの多対多の関係が想定されています。これは現在私が使用しているコードです(ハイバネーションJPAアノテーション付き)
ここに私の MyUser コードがあります:
@Entity
public class MyUser {
@Id
private String username;
private String userPassword;
@ManyToMany
@JoinTable(
name="USR_USR",
joinColumns={@JoinColumn(name="USR1_ID", referencedColumnName="USERNAME")},
inverseJoinColumns={@JoinColumn(name="USR2_ID", referencedColumnName="USERNAME")})
private List<MyUser> friends = new ArrayList<MyUser>();
public void setUsername(String username) {
this.username = username;
public void setUserPassword(String userPassword) {
this.userPassword = userPassword;
}
public String getUsername() {
return username;
public String getUserPassword() {
return userPassword;
}
public void setFriends(List<MyUser> friends) {
this.friends = friends;
}
public List<MyUser> getFriends() {
return friends;
}
USERNAME 列をそれ自体と結合して 2 番目のテーブルを作成しようとしています (正直言って、これは正しくないように思えます)。
したがって、各 MyUser が多くの MyUser を持つことができる関係をデータベースに作成しようとしています。
私はこれにかなりこだわっているので、助けていただければ幸いです。どうもありがとう!