一:什么是关联
关联指的是类之间的引用关系。如果类A与类B关联,那么被引用的类B将被定义为类A的属性。
传统的jdbc要查有关系的两张表,一般就是同连表查询
Hibernate就不要需要,它只需要维护实体类,表达清楚表与表之间的关系即可
列如:
Class Order(){
Private String oid;
…
Private Set orderIterm;
}
可以通过get(),它会自动导航把orderIterm也查询出来了
Session.get(Order.class,1)
级联新增:
1.在实体类中描述表与表之间的关系
注意:定义一对多的关系时一定需要采用接口的方式,不许使用实现类
//implements java.util.Set 代理实现的是set接口
private Set<OrderItem> orderItems=new HashSet<OrderItem>();
关系:
一个订单对应着多个订单项
一个订单项对应着一个订单
2.配置关系
一对多:
<!--
name:实体类的类属性
cascade:用来配置维护实体类之间的关系所用
inverse:(inverse="true")关系交由反方控制 即订单项 因为现在配置的是订单,所以反方是订单项
(inverse="true") 关系由自己控制 订单
lazy="false":立即加载
-->
<set