在JPA中创建具有joinColumn的实体

时间:2014-09-22 07:36:13

标签: java jpa one-to-many many-to-one joincolumn

我正在尝试创建一个实体B,它具有一个Join列,另一个实体A与另一个实体的主键。当我创建一个实体B,其值不在实体A中时,我没有看到异常。这不应该由JPA自动处理吗?

实体的代码段:

 @Entity
    public class A{

        @Id
        @Column(name="ORIGIN_ID")
        private long id;
        ...

        @OneToMany(mappedBy="aBean",cascade = CascadeType.PERSIST)
        private List<B> bList;
    }


    @Entity
    public class B{
        @Id
        private long id;
        ...

        @ManyToOne(cascade=CascadeType.MERGE)
        @JoinColumn(name="ORIGIN_ID")
        private A aBean;
    }

1 个答案:

答案 0 :(得分:0)

你指的是关系管理。我记得JPA规范中没有任何内容需要抛出异常(因为用户传递了不一致的关系信息)。所有JPA实现都将自己处理这种情况。有些人只会坚持关系所有者方面的内容。其他人将根据首先遇到的情况而坚持下去。其他人有可选的处理,可以打开以检测这些事情并将其标记给用户

最简单的建议是在使用双向关系时,确保双方都是一致的。

相关问题