JPA单向一对多

JPA单向一对多只需要在多的一端使用如下注解:

@OneToMany(cascade=CascadeType.ALL,fetch=FetchType.LAZY)//级联保存、更新、删除、刷新;延迟加载36     @JoinColumn(name="author_id")//在book表增加一个外键列来实现一对多的单向关联
private Set<Book> books = new HashSet<Book>();

而在Book.java里头不需要任何有关author的信息。

但是经过测试发现,在Book表中,author_id需要设置允许为空,因为JPA是先往两张表插入新数据,然后再更新Book表中的author_id字段的。

所以不可以在数据库中设置该外键为空。

推荐使用双向关系


你可能感兴趣的:(JPA单向一对多)