Hibernate关系配置之一对多映射配置
来源:互联网 发布:公安优化发展环境心得 编辑:程序博客网 时间:2024/06/02 02:48
客户实体类—-“一”
//客户实体类public class Customer { private Integer cid; private String custName; private String custLevel; // 在客户实体类里面表示多个联系人,一个客户有多个联系人 // hibernate要求使用集合表示多的数据,使用set集合(固定要求,无序) private Set<LinkMan> setLinkMan = new HashSet<LinkMan>(); public Set<LinkMan> getSetLinkMan() { return setLinkMan; } public void setSetLinkMan(Set<LinkMan> setLinkMan) { this.setLinkMan = setLinkMan; } public Integer getCid() { return cid; } public void setCid(Integer cid) { this.cid = cid; } public String getCustName() { return custName; } public void setCustName(String custName) { this.custName = custName; } public String getCustLevel() { return custLevel; } public void setCustLevel(String custLevel) { this.custLevel = custLevel; }}
客户实体类配置—-“一”
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping> <!-- 配置类和表对应 class标签 name属性:实体类全路径 table属性:数据库表名称 --> <class name="com.jiudianlianxian.entity.Customer" table="t_customer"> <!-- 主键 --> <id name="cid" column="cid"> <generator class="native"></generator> </id> <!-- 其它属性 --> <property name="custName" column="custName"></property> <property name="custLevel" column="custLevel"></property> <!-- 在客户映射文件中,表示所有联系人 使用set标签表示所有联系人 set标签里面有name属性:属性值写在客户实体类里面表示联系人的set集合名称 inverse属性默认值:false不放弃关系维护 true表示放弃关系维护 --> <!-- inverse属性:默认false即不放弃维护外键的机会,true即放弃维护外键的机会 配置了inverse属性为true后,添加联系人时,就不会再客户方维护联系人的外键,需要再次手动维护 inverse="true"--> <set name="setLinkMan" cascade="save-update,delete" inverse="true"> <!-- 一对多建表,有外键 hibernate机制:双向维护外键,在一和多那一方都配置外键 修改时会修改两次,性能上有缺陷 column属性值:外键名称 --> <key column="clid"></key> <!-- 客户所有的联系人,class里面写联系人实体类全路径 --> <one-to-many class="com.jiudianlianxian.entity.LinkMan"/> </set> </class></hibernate-mapping>
联系人实体类—-“多”
//联系人public class LinkMan { private Integer lkm_id; private String lkm_name; // 在联系人实体类里面表示所属客户 private Customer customer; public Customer getCustomer() { return customer; } public void setCustomer(Customer customer) { this.customer = customer; } public Integer getLkm_id() { return lkm_id; } public void setLkm_id(Integer lkm_id) { this.lkm_id = lkm_id; } public String getLkm_name() { return lkm_name; } public void setLkm_name(String lkm_name) { this.lkm_name = lkm_name; }}
联系人实体类配置—-“多”
<hibernate-mapping> <class name="com.jiudianlianxian.entity.LinkMan" table="t_linkman"> <id name="lkm_id" column="lkm_id"> <generator class="native"></generator> </id> <property name="lkm_name" column="lkm_name"></property> <many-to-one name="customer" class="com.jiudianlianxian.entity.Customer" column="clid"> </many-to-one> </class></hibernate-mapping>
阅读全文
0 0
- Hibernate关系配置之一对多映射配置
- hibernate之一对多的关系配置
- Hibernate关联关系映射-----单向多对一映射配置
- Hibernate关系配置之多对多映射配置
- Hibernate之一对多映射关系小结
- hibernate映射关系之一对多
- hibernate的映射关系之一对多
- Hibernate对象关系映射详解之一对多关系映射
- Hibernate关系映射文件一对多,多对一配置
- Hibernate表关系映射之一对多映射
- HIbernate 关系映射配置
- Hibernate映射关系配置
- hibernate关系映射配置
- Hibernate关联关系映射之一对多关联关系
- Hibernate数据关联映射之一对多和多对一配置
- Hibernate关联关系映射-----基于连接表的单向多对多映射配置
- Hibernate关联关系映射-----双向一对多/多对一映射配置
- Hibernate关联关系映射-----双向一对多/多对一映射配置
- RocketMq 在 ubuntu 安装
- ubuntu系统安装并使用svn(亲测有效)
- springmvc学习笔记
- CKEditor 4.7实现图片上传服务器
- (11)2.6之后的字符驱动led
- Hibernate关系配置之一对多映射配置
- 利用jsoup扒新闻
- golang web开发 Handler测试利器httptest
- android Studio配置
- kafka消费者监听数据原理
- 判断设备访问类型是PC端还是WAP端
- 在非递减的有序单链表中插入一个值为x的数据元素,并使单链表仍保持有序的操作
- Linux系统下Nginx的安装和配置
- 剑指offer--从尾到头打印链表