gpt4 book ai didi

java - Ebean 同一实体中的一对多关系

转载 作者:行者123 更新时间:2023-11-30 11:30:32 26 4
gpt4 key购买 nike

我正在尝试在同一个实体中创建一个@OneToMany 关系。这是一个示例代码:

@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 + "]";
}
}

问题是在将新 friend 添加到 Client 并通过 Id 搜索相同的 Client 后, friend 列表没有正确更新。

最佳答案

我在我设置的现有项目中尝试了您的实体,它似乎对我来说工作正常。我在 java 1.7 和 Scala 2.10.0 中使用 play 2.1.1。有 this issue with enhancement这可能会导致您的问题。

关于java - Ebean 同一实体中的一对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17736173/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com