1. 程式人生 > >hibernate配置關係對映

hibernate配置關係對映

一對多,多對一

public class Customer {
	private Long cust_id;
	private String cust_name;
	private String cust_source;
	private String cust_industry;
	private String cust_level;
	private String cust_linkman;
	private String cust_phone;
	private String cust_mobile;
	// 使用Set集合表達1對多
	private Set<LinkMan> linkMens = new HashSet<LinkMan>();
}
public class LinkMan {
	private Long lkm_id;
	private Character lkm_gender;
	private String lkm_name;
	private String lkm_phone;
	private String lkm_mobile;
	private String lkm_email;
	private String lkm_qq;
	private String lkm_position;
	private String lkm_memo;
//使用Customer物件表達多對1關係	
	private Customer customer;
}
//Customer.hbm.xml
        <property name="cust_name" column="cust_name" >
		</property>
		<property name="cust_source" column="cust_source" ></property>
		<property name="cust_industry" column="cust_industry" ></property>
		<property name="cust_level" column="cust_level" ></property>
		<property name="cust_linkman" column="cust_linkman" ></property>
		<property name="cust_phone" column="cust_phone" ></property>
		<property name="cust_mobile" column="cust_mobile" ></property>
		<set name="linkMens" cascade="save-update" inverse="true">
		<key column="lkm_cust_id"></key>
		<one-to-many class="LinkMan"/>
		</set>
//LinkMan.hbm.xml
<property name="lkm_gender"></property>
		<property name="lkm_name" ></property>
		<property name="lkm_phone" ></property>
		<property name="lkm_mobile" ></property>
		<property name="lkm_email" ></property>
		<property name="lkm_qq" ></property>
		<property name="lkm_position" ></property>
		<property name="lkm_memo" ></property>
		<many-to-one name="customer" column="lkm_cust_id" class="Customer" cascade="save-update"></many-to-one>

多對多

public class Role {
	private Long role_id;
	private String role_name;
	private String role_memo;
	Set<User> user = new HashSet<>();
}
public class User {

	private Long user_id;
	private String user_code;
	private String user_name;
	private String user_password;
	private Character user_state;
    Set<Role> role = new HashSet<>();
}
//Role.hbm.xml
<property name="role_name"  ></property>
		<property name="role_memo" ></property>
		   <set name="user" table="sys_user_role" inverse="true">
        <key column="role_id"></key>
        <many-to-many class="User" column="user_id"></many-to-many>
        </set>
//User.hbm.xml
<property name="user_code"  ></property>
		<property name="user_name" ></property>
		<property name="user_password" ></property>
		<property name="user_state"  ></property>
        <set name="role" table="sys_user_role" cascade="save-update">
        <key column="user_id"></key>
        <many-to-many class="Role" column="role_id"></many-to-many>
        </set>