package pojo;
public class Operator {
private int id;
private String name;
private String password;
private Roleinfo role;
private int pid;
private int rootId;
private String createIp;
private String createtime;
private String updateTime;
private String MessageCenterType;
private String status;
private String local;
public String getLocal() {
return local;
}
public void setLocal(String local) {
this.local = local;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getCreateIp() {
return createIp;
}
public void setCreateIp(String createIp) {
this.createIp = createIp;
}
public String getMessageCenterType() {
return MessageCenterType;
}
public void setMessageCenterType(String messageCenterType) {
MessageCenterType = messageCenterType;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getPid() {
return pid;
}
public void setPid(int pid) {
this.pid = pid;
}
public Roleinfo getRole() {
return role;
}
public void setRole(Roleinfo role) {
this.role = role;
}
public int getRootId() {
return rootId;
}
public void setRootId(int rootId) {
this.rootId = rootId;
}
public String getCreatetime() {
return createtime;
}
public void setCreatetime(String createtime) {
this.createtime = createtime;
}
public String getUpdateTime() {
return updateTime;
}
public void setUpdateTime(String updateTime) {
this.updateTime = updateTime;
}
}
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class
name="pojo.Operator"
table="operatorinfo"
lazy="false"
>
<id
name="id"
type="integer"
column="OperatorId"
length="10"
>
<generator class="increment"></generator>
</id>
<property
name="name"
type="string"
column="operatorName"
length="20"
/>
<property
name="password"
type="string"
column="password"
length="20"
/>
<property
name="createtime"
type="string"
column="createtime"
length="50"
/>
<property
name="updateTime"
type="string"
column="UpdateTime"
length="50"
/>
<property
name="local"
type="string"
column="local"
length="100"
/>
<property name="pid"
column="pid"
type="integer"
length="10">
</property>
<property name="rootId"
column="rootId"
type="integer"
length="10">
</property>
<property name="MessageCenterType"
column="MessageCenterType"
type="string"
length="20">
</property>
<property name="status"
column="status"
type="string"
length="4">
</property>
<property name="createIp"
column="CreateIP"
type="string"
length="100">
</property>
<many-to-one name="role"
column="roleId"
cascade="all"
class="pojo.Roleinfo"
>
</many-to-one>
<!-- Associations -->
</class>
</hibernate-mapping>
package pojo;
import java.util.Set;
public class Roleinfo {
private int id;
private String roleName;
private String roleDesc;
private Set<Module> modules;
private Set<Operator> operators;
public Set<Operator> getOperators() {
return operators;
}
public void setOperators(Set<Operator> operators) {
this.operators = operators;
}
public Set<Module> getModules() {
return modules;
}
public void setModules(Set<Module> modules) {
this.modules = modules;
}
public String getRoleDesc() {
return roleDesc;
}
public void setRoleDesc(String roleDesc) {
this.roleDesc = roleDesc;
}
public String getRoleName() {
return roleName;
}
public void setRoleName(String roleName) {
this.roleName = roleName;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
<?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>
<class
name="pojo.Roleinfo"
table="roleinfo"
lazy="false"
dynamic-insert="true"
dynamic-update="true"
>
<id
name="id"
type="integer"
column="roleid"
length="10"
unsaved-value="0"
>
<generator class="increment" />
</id>
<property
name="roleName"
type="string"
column="RoleName"
length="20"
/>
<property
name="roleDesc"
type="string"
column="roleDesc"
length="4000"
/>
<set name="modules"
table="role2module"
inverse="false"
lazy="false"
cascade="all">
<key column="roleId"></key>
<many-to-many class="pojo.Module"
column="moduleId" outer-join="auto">
</many-to-many>
</set>
<set name="operators"
table="operatorinfo"
inverse="true"
cascade="all"
lazy="false"
>
<key column="RoleId"></key>
<one-to-many
class="pojo.Operator"
/>
</set>
</class>
</hibernate-mapping>
public String deleteRole(String[] ids) {
String s = "0";
Session session = super.getSession(true);
try {
for (int i = 0; i < ids.length; i++) {
//session.delete(findById(Integer.parseInt(ids[i])));
/**
* session.get(Class class,int id)
*/
Roleinfo role = (Roleinfo)session.get(Roleinfo.class, Integer.parseInt(ids[i]));
Set<Operator> set = role.getOperators();
for (Iterator iter = set.iterator(); iter.hasNext();) {
Operator o = (Operator) iter.next();
session.delete(o);
role.getOperators().remove(o);
role.getOperators().clear();
//role.getOperators().remove(o);
}
//role.getOperators().clear();
session.delete(role);
}
s = "1";
} catch (Exception e) {
}
return s;
}