gpt4 book ai didi

java - Hibernate 多对多不起作用

转载 作者:行者123 更新时间:2023-12-02 00:09:28 27 4
gpt4 key购买 nike

我尝试理解hibernate,但这非常困难。

我现在遇到一个问题,我不太明白。它与我的映射文件中的多对多关系有关。如果我保存一个对象,它不会将“许多”保存在我的数据库中,但也不会保存它。我认为它在我的映射中,但我没有看到它。

这是关于航类和飞机上的工作人员的。当我拯救飞机时,工作人员也必须一起拯救。但这不会发生。

这是我对两者的映射:飞行映射:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 28-sep-2012 11:49:37 by Hibernate Tools 3.2.1.GA -->
<hibernate-mapping>
<class name="model.Flight" table="flights" catalog="flyaway_db">

<id name="number" type="int">
<column name="FlightNumber" />
<generator class="assigned" />
</id>

<set name="staffs" table="flightstaff" cascade="save-update">
<key>
<column name="FlightNumber" not-null="true" />
</key>
<many-to-many class="model.Staff">
<column name="StaffNumber" length="5" not-null="true" />
</many-to-many>
</set>

</class>
</hibernate-mapping>

人员映射:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 28-sep-2012 11:49:37 by Hibernate Tools 3.2.1.GA -->
<hibernate-mapping>
<class name="model.Staff" table="staff" catalog="flyaway_db">

<id name="staffNumber" type="string">
<column name="StaffNumber" length="5" />
<generator class="assigned" />
</id>

<set name="flightses" table="flightstaff" cascade="save-update">
<key>
<column name="StaffNumber" length="5" not-null="true" />
</key>
<many-to-many class="model.Flight">
<column name="FlightNumber" not-null="true" />
</many-to-many>
</set>
</class>
</hibernate-mapping>

最佳答案

您忘记了双向关系一侧的inverse="true"

关于java - Hibernate 多对多不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13159945/

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