求教:Hibernate异常Could not execute JDBC batch update

a476249912 a476249912 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
配置文件为:

<?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.aisino.tree.entity.Personinfo" table="PERSONINFO">
<id name="cid" type="string">
<column name="CID" length="50" />
<generator class="assigned" />
</id>
<property name="pid" type="string">
<column name="PID" length="50" />
</property>
<property name="name" type="string">
<column name="NAME" length="50" />
</property>
<property name="type" type="integer">
<column name="TYPE" />
</property>
<property name="isleaf" type="integer">
<column name="ISLEAF"/>
</property>
<many-to-one name="parent">
<column name="pid"/>
</many-to-one>
<set name="children" inverse="true" cascade="save-update">
<key>
<column name="pid"/>
</key>
<one-to-many class="com.aisino.tree.entity.Personinfo" />
</set>
</class>
</hibernate-mapping>

我想单独添加一条数据我就直接用session.save(Person);
然后系统给我报个错org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update。
发出的sql语句是:
Hibernate: insert into PERSONINFO (PID, NAME, TYPE, ISLEAF, pid, CID) values (?, ?, ?, ?, ?, ?)
就是pid出现重复列了,这是什么原因还是配置文件哪里有问题,好像它把parent对象也级联保存了,
但是我删除cascade配置也没用, 求教了。
(不知道大家看的懂这配置文件意思不,就是这样配置可以生成树的结构如:cid,pid)
...全文
评论 4
收藏 已收藏
分享
返回顶部
a476249912
Java EE 67,535 成员 225,843 内容