在@OneToMany里加入mappedBy属性避免生成中间表
如果A B两个实体间是一对多,多对一的关系,如果不在@OneToMany里加入mappedBy属性会导致自动生成一个多余的中间表。比如:
@Entitypublic class A {@OneToMany( mappedBy="a")public Set<B>bs = new HashSet<B>(0);}@Entitypublic class B {@ManyToOnepublic A a;}
这样写会只成生成表A和表B,B中会有一个到表A的外键。但是如果不加mappedBy=”a”, 那么就会再生成一张A_B表。
Cascade 级联操作 CascadeType. PERSIST 级联持久化 ( 保存 ) 操作 CascadeType. MERGE 级联更新 ( 合并 ) 操作 CascadeType. REFRESH 级联刷新操作,只会查询获取操作 CascadeType. REMOVE 级联删除操作 CascadeType. ALL 级联以上全部操作 Fetch 抓取是否延迟加载,默认情况一的方为立即加载,多的一方为延迟加载 mappedBy 关系维护 mappedBy= "order" 表示在 OrderItem 类中的 order 属性来维护关系