配置文件
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping package="com.marvin.shop.pojo">
<class name="Privilege" table="privilege" catalog="shop">
<id name="pid" type="java.lang.Integer">
<column name="pid" />
<generator class="native"></generator>
</id>
<property name="pname" type="java.lang.String">
<column name="pname" length="100" />
</property>
<property name="purl" type="java.lang.String">
<column name="purl" length="200" />
</property>
<property name="isleft" type="java.lang.Boolean">
<column name="isleft" />
</property>
<many-to-one name="privilege" class="Privilege" fetch="select">
<column name="parentId" />
</many-to-one>
<set name="children" inverse="true" lazy="false" fetch="subselect" order-by="pid asc">
<key>
<column name="parentId" />
</key>
<one-to-many class="Privilege" />
</set><span style="font-family: Arial, Helvetica, sans-serif;"></class></span><span style="font-family: Arial, Helvetica, sans-serif;"></hibernate-mapping></span>
下面是类的代码
package com.marvin.shop.pojo;
import java.util.HashSet;
import java.util.Set;
/**
* Privilege entity. @author MyEclipse Persistence Tools
*/
public class Privilege implements java.io.Serializable {
// Fields
/**
*
*/
private static final long serialVersionUID = -9195966077132256558L;
private Integer pid;
private Privilege privilege;
private String pname;
//功能的url
private String purl;
//是否将功能显示在左面
private Boolean isleft;
//这里是自关联生成的 用于存储当前权限的父对象
private Set<Privilege> children = new HashSet<Privilege>(0);
//就是说 权限赋予的角色 就是这个权限 哪个角色里面有
//private Set<Role> roles = new HashSet<Role>(0);
// Constructors
/** default constructor */
public Privilege() {
}
public Privilege(Integer pid, Privilege privilege, String pname,
String purl, Boolean isleft, Set<Privilege> children) {
super();
this.pid = pid;
this.privilege = privilege;
this.pname = pname;
this.purl = purl;
this.isleft = isleft;
this.children = children;
}
public Integer getPid() {
return pid;
}
public void setPid(Integer pid) {
this.pid = pid;
}
public Privilege getPrivilege() {
return privilege;
}
public void setPrivilege(Privilege privilege) {
this.privilege = privilege;
}
public String getPname() {
return pname;
}
public void setPname(String pname) {
this.pname = pname;
}
public String getPurl() {
return purl;
}
public void setPurl(String purl) {
this.purl = purl;
}
public Boolean getIsleft() {
return isleft;
}
public void setIsleft(Boolean isleft) {
this.isleft = isleft;
}
public Set<Privilege> getChildren() {
return children;
}
public void setChildren(Set<Privilege> children) {
this.children = children;
}
public static long getSerialversionuid() {
return serialVersionUID;
}
}
1.图书馆的种类。
2.权限管理.
特点:有父类和子类关系,并且子类就是本类,需要配置两个关系,一个是一对多的时候作为1的一端。在就是作为n的一端,分别对应上面的这两个配置。