如何在同一个实体类上进行单向一对多关系?

时间:2012-07-02 03:37:50

标签: java java-ee jpa playframework ebean

如何在同一个实体类上进行单向一对多关系?

@Entity
public class User extends Model {
    @Id
    private Long id;
    ....
    @OneToMany(cascade = CascadeType.PERSIST)
    @JoinTable(name="ignores",
               joinColumns = @JoinColumn(name = "user_id"),
               inverseJoinColumns = @JoinColumn(name="ignored_id"))
    public List<User> ignoreList;
    ....        
}

[PersistenceException:插入具有单向关系的bean [class models.User]时出错。对于插入,必须在主bean [class models.User]上使用级联保存。]

2 个答案:

答案 0 :(得分:2)

就文档而言,似乎你不能。一方面,你必须坚持主bean;另一方面,master bean本身可以包含在master bean中。

我目前遇到类似的问题,据我所知,这是一个Ebean限制。

答案 1 :(得分:0)

它基本上说,对于INSERTS,你必须在MASTER BEAN上使用CASCADE SAVE。

您应该保留父用户,该用户会忽略用户。