看看书吧,书上有详解!
栏目相对子栏目一对多的关系
<set name="fusubject" lazy="true" inverse="true" cascade="delete">
<key column="sjtid"/>
<one-to-many class="com.everyday.vo.TbSubject"/>
</set>
子栏目对应父栏目多对一的关系
<many-to-one name="zisubject" column="sjtid" class="com.everyday.vo.TbSubject" fetch="join" insert="false" update="false">
</many-to-one>
栏目相对子栏目一对多的关系
<set name="fusubject" lazy="true" inverse="true" cascade="delete">
<key column="sjtid"/>
<one-to-many class="com.everyday.vo.TbSubject"/>
</set>
子栏目对应父栏目多对一的关系
<many-to-one name="zisubject" column="sjtid" class="com.everyday.vo.TbSubject" fetch="join" insert="false" update="false">
</many-to-one>
public UserGroup() {
this.users = new HashSet<User>();
} ///////////////////////////////////
// 属性
///////////////////////////////////
private Long id;
private Set<User> users; ///////////////////////////////////
// 属性访问器
///////////////////////////////////
@Override
public Long getId() {
return this.id;
} @Override
public void setId(Long id) {
this.id = id;
} /**
* @return the users
*/
public Set<User> getUsers() {
return this.users;
} /**
* @param users the users to set
*/
@SuppressWarnings("unused")
private void setUsers(Set<User> users) {
this.users = users;
}
}
public class User implements Serializable { private static final long serialVersionUID = -1826947173282949005L;
///////////////////////////////////
// 属性
///////////////////////////////////
private Long id;
/**
* 指定本用户归属的用户组。
*/
private UserGroup userGroup; ///////////////////////////////////
// 属性访问器
///////////////////////////////////
public Long getId() {
return this.id;
} public void setId(Long id) {
this.id = id;
} /**
* @return the userGroup
*/
public UserGroup getUserGroup() {
return this.userGroup;
} /**
* @param userGroup the userGroup to set
*/
public void setUserGroup(UserGroup userGroup) {
this.userGroup = userGroup;
}
}<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" ><hibernate-mapping package="cn.com.gxlu.fiberscheduler.model.user">
<class name="UserGroup" table="t_UserGroup">
<id name="id" type="long" column="ID">
<generator class="native">
<param name="sequence">S_FSUSERGROUP</param>
</generator>
</id>
<set name="users" table="t_UserGroup_User" inverse="true" lazy="true">
<key column="userGroupId" foreign-key="fk_gu_userGroupId"/>
<many-to-many column="userId" unique="true" class="User" />
</set>
</class>
</hibernate-mapping><?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="cn.com.gxlu.fiberscheduler.model.user">
<class name="User" table="t_User">
<id name="id" type="long" column="id">
<generator class="native">
<param name="sequence">S_FSUSER</param>
</generator>
</id>
<join table="t_UserGroup_User" optional="true">
<key column="userId" foreign-key="fk_gu_userId"/>
<many-to-one name="userGroup" column="userGroupId" not-null="true" />
</join>
</class>
</hibernate-mapping>
照片.hbm
<?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 default-access="field">
<class name="com.element.ElementBase" table="Element">
<id name="id" column="id" type="long">
<generator class="assigned" />
</id> <discriminator column="elementType" type="string" />
<version name="version" column="version" type="integer" />
<property name="name" />
<property name="createdTime" not-null="true" />
<property name="caption" />
<property name="description" /> <subclass name="com.file.Photo"
discriminator-value="photo">
<many-to-one name="album" column="albumId" />
</subclass>
</class>
</hibernate-mapping>相册
<?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 default-access="field">
<class name="com.folder.FolderBase" table="Folder">
<id name="id" column="id" type="long">
<generator class="assigned" />
</id>
<discriminator column="folderType" type="string"
not-null="true" /> <version name="version" column="version" type="integer" />
<property name="name" />
<property name="createdTime" not-null="true" /> <property name="caption" />
<many-to-one name="account" column="accountId" /> <many-to-one name="createdBy" /> <subclass name="com.folder.Album"
discriminator-value="album">
<many-to-one name="coverPhoto" column="coverPhotoId" />
<set name="photos">
<key column="albumId" />
<one-to-many class="com.file.Photo" />
</set>
</subclass> </class>
</hibernate-mapping>