1

こんにちは、休止状態のマッピングと次の保存操作について質問があります。

私はこのプロパティの Dealer.class を持っています:

public class Dealer extends Persistent {

private static final long serialVersionUID = 306594798010394718L;

private Domain domain;
private Integer status;
private DealerData activeData;        // this property belongs to DealerData.class
private Set<DealerData> historyData;

彼のマッピングは次のようになります

<hibernate-mapping>
<class name="sk.bantip.hotel.server.dao.book.Dealer" table="book_dealer" dynamic-update="true" select-before-update="true">
    <id column="idBook_dealer" name="id" type="java.lang.Long">
        <generator class="identity" />
    </id>

    <many-to-one name="activeData" column="idBook_dealerData"
        class="sk.bantip.hotel.server.dao.book.DealerData" />
    <set name="historyData" inverse="true">
        <key column="idBook_dealer" />
        <one-to-many class="sk.bantip.hotel.server.dao.book.DealerData" />
    </set>
    <property name="status" not-null="false" />
</class>

および DealerData.class

public class DealerData extends Persistent {

private static final long serialVersionUID = 8424120040396958913L;

private String name;
private String registration;
private String taxNumber;
private Long authorUserId;
.... many other props

および DealerData hbm.xml

<hibernate-mapping>
<class name="sk.bantip.hotel.server.dao.book.DealerData" table="book_dealerData" dynamic-update="true" select-before-update="true" >
    <id column="idBook_dealerData" name="id" type="java.lang.Long">
        <generator class="identity" />
    </id>
    <property name="name" not-null="true" />
    <property name="registration" not-null="true"/>
    <property name="taxNumber" not-null="true" />
    <property name="timestamp" not-null="true"  />
    <property name="authorUserId" column="idAuthor" not-null="true" update="false"/>
    <many-to-one name="dealer" column="idBook_dealer"
        not-null="true" class="sk.bantip.hotel.server.dao.book.Dealer" update="false" />

</class>

このマッピングに基づいて、操作を正確に定義する必要がある場所がわかりませんcascade="save-update"。JSF入力フィールドを介してフォームDealerDataからプロパティを保存し、ページ全体を送信したい場合、このステートメントは<many-to-one>DealerDataまたはDealerのタグ内にある必要がありますか?

また、ディーラーでは、DealerData の外部キーを NULL として持っています。DealerData の Dealer の外部キーは NOT-NULL としてチェックされます。DealerData 値を保存し、これに続いて、Dealer も保存する必要があります。したがって、ディーラーの ID も生成する必要がありますが、FK 列の列 'id_dealer' を null にすることはできないため、方法がわかりません

誰かがこれを手伝ってくれますか?また、saveメソッドを正しく構築して、両方のクラスがこのメソッドに保存されるようにするにはどうすればよいですか? アドバイスありがとうございました。乾杯

4

2 に答える 2

0

コードで指定したクラス コードから extends を消去してください

于 2013-09-18T16:24:16.037 に答える