2张表.多对多关系.同时插入.第一张表先一步插.
第二张表可能要插多条记录.等第一张表
插入成功后再插.然后关联上中间表.
一般顺序是先关联中间表再插入第二张表的数据.运行后报错:错误代码就不贴出来了.
错误的意思是:找不到第二张表的ID.打印第二张的ID也是null.PersonInfo.hbm.xml<set name="houseinfos" table="PERSON_HOUSE" schema="SYRKXX" inverse="false" cascade="save-update, delete">
<key>
<column name="PID" precision="22" scalo="0" not null="true" />
</key>
<many-to-many entity-name="......">
<column name="HOUSE_ID" not-null="true"/>
</many-to-many>
</set>
HouseInfo.hbm.xml <set name="personInfos" table="PERSON_HOUSE" schema="SYRKXX" inverse="true" lazy="false">
<key>
<column name="HOUSE_ID" precision="22" scalo="0" not null="true" />
</key>
<many-to-many entity-name="......">
<column name="PID" not-null="true"/>
</many-to-many>
</set>先插入houseinfo的信息.只有一条houseinfodao.insertHouse(houseinfoForm);
再插入personinfo的信息,可能多条string[] xm = request.getParameterValues("xm");
for(int i=0;i<xm.length;i++){
PersonInfo personinfo = new PersonInfo(xm[i]);personinfo.getHouseInfos().add(HouseinfoForm);personinfodao.insertPerson(personinfo);
}具体代码就是这样.
插入的时候就报中间表的 PID:
integrity constraint (xxxx.FK_PERSON_ID ) violated - parent key not found;请教高手我哪配置或写法有问题.
谢谢了.
100分.求解!
第二张表可能要插多条记录.等第一张表
插入成功后再插.然后关联上中间表.
一般顺序是先关联中间表再插入第二张表的数据.运行后报错:错误代码就不贴出来了.
错误的意思是:找不到第二张表的ID.打印第二张的ID也是null.PersonInfo.hbm.xml<set name="houseinfos" table="PERSON_HOUSE" schema="SYRKXX" inverse="false" cascade="save-update, delete">
<key>
<column name="PID" precision="22" scalo="0" not null="true" />
</key>
<many-to-many entity-name="......">
<column name="HOUSE_ID" not-null="true"/>
</many-to-many>
</set>
HouseInfo.hbm.xml <set name="personInfos" table="PERSON_HOUSE" schema="SYRKXX" inverse="true" lazy="false">
<key>
<column name="HOUSE_ID" precision="22" scalo="0" not null="true" />
</key>
<many-to-many entity-name="......">
<column name="PID" not-null="true"/>
</many-to-many>
</set>先插入houseinfo的信息.只有一条houseinfodao.insertHouse(houseinfoForm);
再插入personinfo的信息,可能多条string[] xm = request.getParameterValues("xm");
for(int i=0;i<xm.length;i++){
PersonInfo personinfo = new PersonInfo(xm[i]);personinfo.getHouseInfos().add(HouseinfoForm);personinfodao.insertPerson(personinfo);
}具体代码就是这样.
插入的时候就报中间表的 PID:
integrity constraint (xxxx.FK_PERSON_ID ) violated - parent key not found;请教高手我哪配置或写法有问题.
谢谢了.
100分.求解!
解决方案 »
- 关于MyEclipse修改JSP的字符集问题
- mysql到jsp的乱码问题
- netbeans,eclipse谁更好一点?
- 请教webservice和socket的关系?
- 在Eclipse下引用ActionError时出现一条横线,请大家多多指教!
- 送分了啊
- emf-sdo-runtime-2.0.0.zip哪里有下载
- 新手问问deploy.wsdd和server-config.wsdd的关系。
- 关于bonita workflow system 的配置问题!
- 面试题:Transactional同时加在类和类中的一个方法,类的其他方法没加,如何只让这个方法的事务生效?
- java 如何调用 linux下的 。so文件
- 救急!Spring中applicationcontext.xml有红叉,说encoding问题,不能创建bean实例
integrity constraint (xxxx.FK_PERSON_ID ) violated - parent key not found;但是hibernate多对多就是要先ADD关联中间表 再insert第二张主表,这样的顺序之前我也做过这样的项目,都没错.现在报这样的错我也不清楚到底错在哪了!
谨慎啊,级联了还都托管与对方,all的话很危险的,