odbcexception:错误[23000][ma-3.0.3][5.7.12]无法添加或更新子行:外键约束失败

but5z9lq  于 2021-06-23  发布在  Mysql
关注(0)|答案(0)|浏览(101)

使用时出现此错误 MariaDB Connector/ODBCnHibernate 连接 MySql 数据库
odbcexception:错误[23000][ma-3.0.3][5.7.12]无法添加或更新子行:外键约束失败( database . ChildTable ,约束 FK_ChildTable_ParentTable 外键( Id )参考文献 ParentTable ( Id ))
我们有两个表,父表和子表。两个表都链接了外键关系。下面的nhibernateMap文件。

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="Xxx.Yyy.Domain" assembly="Xxx.Yyy">

<class name="Xxx.Yyy.Domain.Parent, Xxx.Yyy" table="Parent" lazy="false">
   <id name="ParentId" column="ParentId" type="integer">
       <generator class="native" />
   </id>
   <property name="Name" column="Name" type="string" not-null="true"/>
   <property name="Description" column="Description" type="string" not-null="false"/>
</class>

<class name="Xxx.Yyy.Domain.Child, Xxx.Yyy" table="Child" lazy="false">
  <id name="ChildId" column="ChildId" type="integer">
      <generator class="native" />
  </id>
  <many-to-one name="Parent" not-null="true" column="ParentId" class="Xxx.Yyy.Domain.Parent, Xxx.Yyy" cascade="save-update" lazy="proxy" />
  <property name="Name" column="Name" type="string" not-null="true"/>
  <property name="Description" column="Description" type="string" not-null="false"/>
</class>

创建父记录时,父记录被插入两次。
在父表创建期间插入到父表中的第一条记录。
在创建子表的过程中,具有相同详细信息的第二条记录也被插入到父表中。
但同样的代码工作良好,当我使用其他驱动程序,如 MySqlDataDriver . 仅在使用时看到错误 MariaDB Connector/ODBC

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题