Как добавить ключевые ограничения в спящий режим? - PullRequest
1 голос
/ 24 января 2012

У меня есть следующий файл * .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" имеют ограничения внешнего ключа (ссамих себя).Как именно я пишу свойства «один ко многим»?Я новичок в спящем режиме, и онлайн-уроки не были слишком наглядными.

Когда я запускаю приложение как есть, я получаю следующие ошибки:

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

Спасибо.

Ответы [ 2 ]

0 голосов
/ 25 января 2012

Один-ко-многим может быть представлен как многие-к-одному из TestCase

0 голосов
/ 24 января 2012

Hibernate позволяет определять отношения, он не может применять ограничения. Как вы могли заметить, это инструмент для отображения объектов Java с таблицами базы данных. Он не предназначен для определения модели данных.

-JavaJigsaw.com

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...