Hibernate实体映射模板
多对一 | <many-to-one name=“” class=“” column=“”/> |
一对多 (Set) | <set name=""> <key column=""></key> <one-to-many class=""/> </set> |
多对多 (Set) | <set name="" table=""> <key column=""></key> <many-to-many class="" column=""/> </set> |
示例User、Role、Privilege之间的映射关系:
User.hbm.xml中
<class name="User" table="usst_user"><id name="id">
<generator class="native" />
</id>
<property name="loginName" column="loginName"></property>
。。。。
<!-- roles属性,表示我与Role的多对多关系 -->
<set name="roles" table="usst_user_role" lazy="false">
<key column="userId"></key>
<many-to-many class="Role" column="roleId"></many-to-many>
</set>
</class>
Role.hbm.xml中
<class name="Role" table="usst_role">
<id name="id">
<generator class="native" />
</id>
<property name="name" column="name"></property>
<!-- users属性,表达了我与User的多对多关系 -->
<set name="users" table="usst_user_role">
<key column="roleId"></key>
<many-to-many class="User" column="userId"></many-to-many>
</set>
<!-- privileges属性,表达了我与Privilege的多对多关系 -->
<set name="privileges" table="usst_role_privilege" lazy="false">
<key column="roleId"></key>
<many-to-many class="Privilege" column="privilegeId"></many-to-many>
</set>
</class>
Privilege.hbm.xml中
<class name="Privilege" table="usst_privilege">
<id name="id">
<generator class="native" />
</id>
<property name="url" column="url"></property>
<property name="name" column="name"></property>
<!-- roles属性,表达了我与Role的多对多关系 -->
<set name="roles" table="usst_role_privilege">
<key column="privilegeId"></key>
<many-to-many class="Role" column="roleId"></many-to-many>
</set>
<!-- parent属性,表达了我与Privilege(上级)的多对一关系 -->
<many-to-one name="parent" class="Privilege" column="parentId"></many-to-one>
<!-- children属性,表达了我与Privilege(下级)的一对多关系 -->
<set name="children" order-by="id ASC" lazy="false">
<key column="parentId"></key>
<one-to-many class="Privilege" />
</set>
</class>
增删改查所用的6个Action方法的模板
/** 列表 */
public String list()throws Exception {return"list"; }
/** 删除 */
public String delete()throws Exception {return"toList"; }
/** 添加页面 */
public StringaddUI()throws Exception {return"saveUI"; }
/** 添加 */
public String add()throws Exception {return"toList"; }
/** 修改页面 */
public StringeditUI()throws Exception {return"saveUI"; }
/** 修改 */
public String edit()throws Exception {return"toList"; }