JPA Hibernate双向关系

时间:2012-03-23 15:00:01

标签: java hibernate jpa

我是JPA的新手,在理解双向关系方面存在一些问题。

我有实体Job和Execution。 1个作业属于1个执行,反之亦然。所以,我想使用onetoone关系。

我的代码如下:

@Entity
public class Execution {
        ....
       @OneToOne(cascade=CascadeType.ALL,optional=false)
        private Job job;
        ....
}

@Entity
public class Job{
    ......
   @OneToOne(mappedBy="job",optional=false)
    private Execution execution;
    .....
 }

我为这两个字段设置了optional = false。正如预期的那样,如果我尝试持久化具有Null Job对象的Execution对象,则hibernate会抛出异常 但是可以使用Null Execution对象持久化Job对象,尽管我设置了optional = false。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

尝试添加以下注释。

@Column(nullable = false)