多表操作
一对多操作
客户和联系人的关系,一个客户可以对应多个联系人,一个联系人只能对应一个客户
配置一对多和多对一关系并配置外键
@OneToMany : 配置一对多关系
targetEntity :对方对象的字节码对象
mappedBy:对方配置关系的属性名称,这样主表就放弃外键维护权
cascade : 配置级联(可以配置到设置多表的映射关系的注解上),取值有:
CascadeType.ALL: 所有
CascadeType.MERGE:更新
CascadeType.PERSIST:保存
CascadeType.REMOVE:删除
fetch : 配置关联对象的加载方式,取值有:
EAGER :立即加载
LAZY :延迟加载
@JoinColumn : 配置外键
name:外键字段名称
referencedColumnName:参照的主表的主键字段名称
@ManyToOne : 配置多对一关系
targetEntity:对方的实体类字节码
在配置文件的entityManagerFactory的bean中注入jpa的配置信息
<!--注入jpa的配置信息
加载jpa的基本配置信息和jpa实现方式(hibernate)的配置信息
hibernate.hbm2ddl.auto : 自动创建数据库表
create : 每次都会重新创建数据库表
update:有表不会重新创建,没有表会重新创建表
-->
<property name="jpaProperties">
<props>
<prop key="hibernate.hbm2ddl.auto">create</prop>
</props>
</property>
在客户实体类中配置联系人集合
@OneToMany(targetEntity