[b]Hibernate级联:[/b]
CascadeType.PERSIST: 如果一个实体是受管状态, 或者当persist()函数被调用时, 触发级联创建(create)操作
CascadeType.MERGE: 如果一个实体是受管状态, 或者当merge()函数被调用时, 触发级联合并(merge)操作
CascadeType.REMOVE: 当delete()函数被调用时, 触发级联删除(remove)操作
CascadeType.REFRESH: 当refresh()函数被调用时, 触发级联更新(refresh)操作
CascadeType.ALL: 以上全部
[b]Hibernate关联:[/b]
[color=red][b]关联关系一般定义为双向关联[/b][/color]
关联一般都要指定级联关系.
关联关系一般都是通过@JoinColum指定主对象的列, 次对象用mapby标示主对象的属性(可以忽略).
@OneToOne
默认情况下是主表,表示为关联表名_id.
可以用[color=red]@joinColumn[/color]来声明为主表
用[color=red]@OneToOne(mappedBy)[/color]声明为从表
@ManyToOne
[color=red]@JoinColumn[/color]的为主对象
@OneToMany([color=red]mappedBy[/color])
一般对应的为集合List, set, map, bag
@ManyToMany()
@[color=red]JoinTable[/color](name, joinColumns={@JoinColumn}, inverseJoinColumns={@JoinColumn})
多队多对应的也是集合
@ManyToMany([color=red]mappedBy[/color])
[b]Hibernate关联关系的获取:[/b]
fetchType.eager
fetchType.lazy:第一次访问对象的后才触发select操作
CascadeType.PERSIST: 如果一个实体是受管状态, 或者当persist()函数被调用时, 触发级联创建(create)操作
CascadeType.MERGE: 如果一个实体是受管状态, 或者当merge()函数被调用时, 触发级联合并(merge)操作
CascadeType.REMOVE: 当delete()函数被调用时, 触发级联删除(remove)操作
CascadeType.REFRESH: 当refresh()函数被调用时, 触发级联更新(refresh)操作
CascadeType.ALL: 以上全部
[b]Hibernate关联:[/b]
[color=red][b]关联关系一般定义为双向关联[/b][/color]
关联一般都要指定级联关系.
关联关系一般都是通过@JoinColum指定主对象的列, 次对象用mapby标示主对象的属性(可以忽略).
@OneToOne
默认情况下是主表,表示为关联表名_id.
可以用[color=red]@joinColumn[/color]来声明为主表
用[color=red]@OneToOne(mappedBy)[/color]声明为从表
@ManyToOne
[color=red]@JoinColumn[/color]的为主对象
@OneToMany([color=red]mappedBy[/color])
一般对应的为集合List, set, map, bag
@ManyToMany()
@[color=red]JoinTable[/color](name, joinColumns={@JoinColumn}, inverseJoinColumns={@JoinColumn})
多队多对应的也是集合
@ManyToMany([color=red]mappedBy[/color])
[b]Hibernate关联关系的获取:[/b]
fetchType.eager
fetchType.lazy:第一次访问对象的后才触发select操作