hibernate一对多&多对一关系表达

多表关系

  1. 多对一|一对多 {客户与联系人}
  2. 多对多
  3. 一对一

多对一|一对多 {客户与联系人}

在表中的表达
|ID=1 百度公司 | 李彦宏 CID=1(外键指向一方的主键)|
|ID=1 百度公司 | 刘总 CID=1|
在对象中的表达
客户实体:
private Long id;
private String name;
private Set<联系人> linkMens;

使用集合表达,一的一方有多个多的一方

联系人实体:
private Long id;
private String name;
private 客户 Customer;

使用对象引用一的一方,
表达多的一方属于哪个一的一方

表达一对多关系时:
set集合:不重复(使用)
list集合:存取顺序一致,可重复(不使用)

对象关系映射,配置文件:
LinkMan.hbm.xml

	<!-- 
		name属性:引用属性名
		column属性: 外键列名
		class属性: 与我关联的对象完整类名
	 -->
	  <!-- 
	 	级联操作:	cascade
	 		save-update: 级联保存更新
	 		delete:级联删除
	 		all:save-update+delete
	 	级联操作: 简化操作.目的就是为了少些两行代码.
	  -->
	  <!-- 多的一方: 不能放弃维护关系的.外键字段就在多的一方.  -->
	<many-to-one name="customer" column="lkm_cust_id" class="Customer"  >
	</many-to-one>               

customer.hbm.xml配置文件

	<set name="LinkMens" inverse="true" cascade="delete">
		<key column="lkm_cust_id"></key>
		<one-to-many class="LinkMan"></one-to-many>
	</set>
	
  </class>

猜你喜欢

转载自blog.csdn.net/qq_40709110/article/details/88173284