Hibernate 关联和级联

Hibernate级联:

CascadeType.PERSIST: 如果一个实体是受管状态, 或者当persist()函数被调用时, 触发级联创建(create)操作
CascadeType.MERGE: 如果一个实体是受管状态, 或者当merge()函数被调用时, 触发级联合并(merge)操作
CascadeType.REMOVE: 当delete()函数被调用时, 触发级联删除(remove)操作
CascadeType.REFRESH: 当refresh()函数被调用时, 触发级联更新(refresh)操作
CascadeType.ALL: 以上全部

Hibernate关联:

关联关系一般定义为双向关联
关联一般都要指定级联关系.
关联关系一般都是通过@JoinColum指定主对象的列, 次对象用mapby标示主对象的属性(可以忽略).

@OneToOne
默认情况下是主表,表示为关联表名_id.
可以用 @joinColumn来声明为主表
@OneToOne(mappedBy)声明为从表

@ManyToOne
@JoinColumn的为主对象

@OneToMany( mappedBy)
一般对应的为集合List, set, map, bag

@ManyToMany()
@ JoinTable(name, joinColumns={@JoinColumn}, inverseJoinColumns={@JoinColumn})
多队多对应的也是集合

@ManyToMany( mappedBy)

Hibernate关联关系的获取:

fetchType.eager
fetchType.lazy:第一次访问对象的后才触发select操作

你可能感兴趣的:(Hibernate)