2
我試圖在同一個實體中創建一個@OneToMany
關係。下面是一個示例代碼:Ebean同一個實體中的一對多關係
@Entity
public class Client extends Model{
private static final long serialVersionUID = 1L;
public Client(String username, String email) {
super();
this.username = username;
this.email = email;
}
@Id
String username;
@Required
String email;
@ManyToOne
Client parent;
@OneToMany(mappedBy="parent")
Set<Client> friends = new HashSet<Client>();
static Finder<String,Client> find = new Finder<String,Client>(String.class, Client.class);
public static void create(Client regUser){
regUser.save();
}
public static Client getByUsername(String username){
return find.byId(username);
}
public void addFriend(Client relatedClient){
this.friends.add(relatedClient);
relatedClient.update();
this.update();
}
/**
* @return the username
*/
public String getUsername() {
return username;
}
/**
* @param username the username to set
*/
public void setUsername(String username) {
this.username = username;
}
/**
* @return the email
*/
public String getEmail() {
return email;
}
/**
* @param email the email to set
*/
public void setEmail(String email) {
this.email = email;
}
/**
* @return the friends
*/
public Set<Client> getFriends() {
return friends;
}
/**
* @param friends the friends to set
*/
public void setFriends(Set<Client> friends) {
this.friends = friends;
}
/**
* @return the parent
*/
public Client getParent() {
return parent;
}
/**
* @param parent the parent to set
*/
public void setParent(Client parent) {
this.parent = parent;
}
/* (non-Javadoc)
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
return "Client [username=" + username + ", email=" + email + "]";
}
}
的問題是,添加新朋友到Client
和搜索相同Client
憑身份證後,好友列表是不正確更新。
附加說明:我爲父母的朋友列表中的客戶端收到空電子郵件字段,但添加了查詢:'Ebean.find(Client.class).fetch(「friends」)。where()。eq(「用戶名「,用戶名).findUnique();'並調用它不會返回電子郵件地址字段的空值。 –