这里是many方的hbm.xml<?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>
<class catalog="crm" name="com.crm.hibernate.pojo.SysRoleRight" table="sys_role_right">
<id name="rfId" type="java.lang.Integer">
<column name="rf_id"/>
<generator class="native"/>
</id>
<property generated="never" lazy="false" name="rfRightCode" type="java.lang.String">
<column length="50" name="rf_right_code" not-null="true"/>
</property>
<many-to-one class="com.crm.hibernate.pojo.SysRole" name="sysRole"
column="rf_role_id" unique="true"/>
</class>
</hibernate-mapping>
这里是one方的hbm.xml文件<?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>
<class name="com.crm.hibernate.pojo.SysRole" table="sys_role">
<id name="roleId" type="java.lang.Integer">
<column name="role_id" />
<generator class="native" />
</id>
<property name="roleName" type="java.lang.String">
<column name="role_name" length="50" not-null="true" />
</property>
<property name="roleDesc" type="java.lang.String">
<column name="role_desc" length="50" />
</property>
<set name="sysRoleRight" cascade="all" inverse="true"
table="sys_role_right" lazy="false">
<key column="rf_role_id" not-null="true" />
<one-to-many class="com.crm.hibernate.pojo.SysRoleRight" />
</set>
</class>
</hibernate-mapping>
插入的时候one方可以插入,但是在插入many方的时候
报异常:Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'rf_role_id' cannot be null
<!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>
<class catalog="crm" name="com.crm.hibernate.pojo.SysRoleRight" table="sys_role_right">
<id name="rfId" type="java.lang.Integer">
<column name="rf_id"/>
<generator class="native"/>
</id>
<property generated="never" lazy="false" name="rfRightCode" type="java.lang.String">
<column length="50" name="rf_right_code" not-null="true"/>
</property>
<many-to-one class="com.crm.hibernate.pojo.SysRole" name="sysRole"
column="rf_role_id" unique="true"/>
</class>
</hibernate-mapping>
这里是one方的hbm.xml文件<?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>
<class name="com.crm.hibernate.pojo.SysRole" table="sys_role">
<id name="roleId" type="java.lang.Integer">
<column name="role_id" />
<generator class="native" />
</id>
<property name="roleName" type="java.lang.String">
<column name="role_name" length="50" not-null="true" />
</property>
<property name="roleDesc" type="java.lang.String">
<column name="role_desc" length="50" />
</property>
<set name="sysRoleRight" cascade="all" inverse="true"
table="sys_role_right" lazy="false">
<key column="rf_role_id" not-null="true" />
<one-to-many class="com.crm.hibernate.pojo.SysRoleRight" />
</set>
</class>
</hibernate-mapping>
插入的时候one方可以插入,但是在插入many方的时候
报异常:Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'rf_role_id' cannot be null
private Integer rfId;
private String rfRightCode;
private SysRole sysRole; public SysRole getSysRole() {
return sysRole;
} public void setSysRole(SysRole sysRole) {
this.sysRole = sysRole;
} public Integer getRfId() {
return this.rfId;
} public void setRfId(Integer rfId) {
this.rfId = rfId;
} public String getRfRightCode() {
return this.rfRightCode;
} public void setRfRightCode(String rfRightCode) {
this.rfRightCode = rfRightCode;
}
}
private Integer roleId;
private String roleName;
private String roleDesc;
private Set<SysRoleRight> sysRoleRight ;
public Set<SysRoleRight> getSysRoleRight() {
return sysRoleRight;
} public void setSysRoleRight(Set<SysRoleRight> sysRoleRight) {
this.sysRoleRight = sysRoleRight;
} public SysRole(String roleName, String roleDesc) {
this.roleName = roleName;
this.roleDesc = roleDesc;
} public Integer getRoleId() {
return this.roleId;
} public void setRoleId(Integer roleId) {
this.roleId = roleId;
} public String getRoleName() {
return this.roleName;
} public void setRoleName(String roleName) {
this.roleName = roleName;
} public String getRoleDesc() {
return this.roleDesc;
} public void setRoleDesc(String roleDesc) {
this.roleDesc = roleDesc;
}
}