gpt4 book ai didi

java - 如何在 hibernate 中添加键约束?

转载 作者:行者123 更新时间:2023-11-30 23:34:11 26 4
gpt4 key购买 nike

我有以下 *.hbm.xml 文件:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="com.models.results">
<class name="TestResult" table="testcaseresults">
<id name="testCaseResultsId" type="java.lang.Integer" column="testcaseresultsid">
<generator class="native"/>
</id>

<property name="start" type="java.sql.Timestamp" column="starttime"/>
<property name="end" type="java.sql.Timestamp" column="endtime"/>
<property name="results" type="java.lang.String" column="results"/>
<property name="passed" type="java.lang.Integer" column="passed"/>

<join table="testcase">
<key column="testcaseid"/>
<property name="testTitle" column="testcasename"/>
<property name="tfsid" column="tfsid"/>
</join>
<join table="selwowusers">
<key column="userid"/>
<property name="tester" column="useremail" type="java.lang.String"/>

</join>


</class>

现在,我的问题是“testcase”和“selwowusers”表有外键约束(与它们自己)。我究竟该如何编写一对多属性?我是 hibernate 的新手,在线教程并没有太详细的描述。

当我按原样运行应用程序时,出现以下错误:

ERROR: HHH000388: Unsuccessful: alter table testcase add index FKBBAC26C2C073639B (testcaseid), add constraint FKBBAC26C2C073639B foreign key (testcaseid) references testcaseresults (testcaseresultsid)
Jan 23, 2012 4:08:57 PM org.hibernate.tool.hbm2ddl.SchemaUpdate execute
ERROR: Cannot add or update a child row: a foreign key constraint fails (`newseleniumwowmatrix`.`#sql-6379_4868`, CONSTRAINT `FKBBAC26C2C073639B` FOREIGN KEY (`testcaseid`) REFERENCES `testcaseresults` (`testcaseresultsid`))
Jan 23, 2012 4:08:57 PM org.hibernate.tool.hbm2ddl.SchemaUpdate execute

谢谢。

最佳答案

Hibernate 允许您定义关系,它不能强制约束。正如您可能观察到的,它是一个映射工具,用于将 Java 对象映射到您的数据库表。它不适用于定义数据模型。

-JavaJigsaw.com

关于java - 如何在 hibernate 中添加键约束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8978640/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com