1. User 类及映射文件
public class User {
private Long id;
private String name;
private String passWord;
private Set services = new HashSet();
省去方法.
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.wks.pojo" >
<class name="User" table="USER">
<id name="id" type="long" column="ID" unsaved-value="0">
<generator class="native" />
</id>
<property name="name" column="NAME" type="string" />
<property name="passWord" column="PWD" type="string" not-null="true" />
<set name = "services"
table = "UserService"
lazy="false"
cascade="save-update"
>
<key column = "userID"/>
<many-to-many column = "serviceID" class = "WSService"/>
</set>
</class>
</hibernate-mapping>
2. WSService类及映射文件
public class WSService {
private Long id;
private String name;
省去方法.
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.wks.pojo" >
<class name="WSService" table="SERVICE">
<id name="id" column="ID" type="long" unsaved-value="0">
<generator class="native" />
</id>
<property name="name" column="NAME" type="string" />
</class>
</hibernate-mapping>
3.当从映射文件产生数据库表时,会自动产生三个表:U SER, SERVICE , UserService
其中UserService中有两个字段:userID, serviceID
有三个数据库表,其中一个为关联表