没有约束的实体

时间:2013-06-22 07:36:16

标签: jpa playframework playframework-2.1 ebean

我有一个实体与另一个人(导师)有关系的人。此人可以是null。我以为只有Constraints.Required注释强迫我的导师设定。 如果我删除ManyToOne注释,导师将无法连接。

@Entity
public class Person extends Model {

    @Id
    @Constraints.Required
    @Formats.NonEmpty
    public Integer id;

    @ManyToOne
    @Constraints.Required
    public User user;

    @Constraints.Required
    public String firstName;

    @Constraints.Required
    public String lastName;

    @ManyToOne
    public Person mentor;

    ...

如果没有导师,我怎么能有人?

1 个答案:

答案 0 :(得分:1)

@ManyToOne注释的使用实际上是“指示”你的JPA提供者认为Person表/关系有一个外键(这模拟了1:n关系b / n人与导师和外键不能为空)但是根据你的问题,我发现你的商业需求不需要1:n 本身所以只需删除@ManyToOne注释以及一个人确实有导师的情况,在JPA实体构造函数中手动连接此关系或通过setter方法