Customer.java
public class Customer {
public Customer() {
super();
// TODO Auto-generated constructor stub
}
public Customer(String cust_name, String cust_source) {
super();
this.cust_name = cust_name;
this.cust_source = cust_source;
}
private Long cust_id;
private String cust_name;
private String cust_source;
private String cust_industry;
private String cust_level;
private String cust_phone;
private String cust_mobile;
//通过 ORM方式表示:一个客户对应的多个联系人
//防止的多的一方的集合。Hibernate默认使用的是Set集合
private Set<LinkMan> linkMans=new HashSet<LinkMan>();
//省略了get和set方法
}
LinkMan.java
public class LinkMan {
private Long lkm_id;
private String lkm_name;
private String lkm_gender;
private String lkm_phone;
private String lkm_mobile;
private String lkm_email;
private String lkm_qq;
private String lkm_position;
private String lkm_memo;
//通过ORM方式表示:一个联系人只能属于一个客户
//放置的是一的一方的对象
private Customer customer;
//省略了get和set方法
}
Customer.hbm.xml
<?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="com.hibernate.domain.Customer" table="cst_customer">
<!-- 建立OID与主键映射 -->
<id name="cust_id" column="cust_id">
<generator class="native"/>
</id>
<!-- 建立普通属性和表的字段的对应 -->
<property name="cust_name" column="cust_name"/>
<property name="cust_source" column="cust_source"/>
<property name="cust_industry" column="cust_industry"/>
<property name="cust_level" column="cust_level"/>
<property name="cust_phone" column="cust_phone"/>
<property name="cust_mobile" column="cust_mobile"/>
<!-- 配置一对多的映射:放置的多的一方的集合 -->
<!--
set标签
* name :多的一方的对象集合的属性名称
* cascade:级联
* inverse:放弃`外键`维护权 默认false:不放弃
-->
<set name="linkMans">
<!--
key标签
* column:多的一方的外键的名称
-->
<key column="lkm_cust_id"/>
<!--
one-to-many标签