有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Hibernate很多都不工作

我试图理解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>

共 (2) 个答案

  1. # 1 楼答案

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

  2. # 2 楼答案

    很抱歉问了这么多问题,但模型不正确!我认为帕奇的回答也有帮助! 谢谢大家