使用JPA的时候,如果A B两个实体间是一对多,多对一的关系,如果不在@OneToMany里加入mappedBy属性会导致自动生成一个多余的中间表。比如:

@Entity

public
 class
 A {

    @OneToMany(
mappedBy="a"
)

    public
 Set<
B>
 bs = new
 HashSet<
B>
(
0
)
;

}

 
@Entity

public
 class
 B {

    @ManyToOne
    public
 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 属性来维护关系