0

誰か@OneToMany(mappedBy="customers")xmlで書く方法を知っていますか?

どこでも検索しましたが、xmlにmappedByを書いている人は見つかりませんでした。新しいエンティティ(結合テーブルなど)や新しい列を作成せずに、他の既存のエンティティの他の列にマップされた1対多をマップする必要があります。別の列またはテーブルを追加する権限がありません。その方法は hibernate annotation を使用することです@OneToMany(mappedBy="customers")

しかし、それを xml に記述するにはどうすればよいでしょうか。私の他のプロジェクトは注釈をサポートしていないJava 1.4を使用しているため、それを使用できません@OneToMany(mappedBy="customers")

Java 1.6 では次のようになります。

表B:

@OneToMany(mappedBy="bId", cascade = CascadeType.DETACH)
private Set<AJoinB> testJoins = new HashSet<AJoinB>();

テーブル AJoinB :

@Column(name = "B_ID", nullable = false)
private Long bId;
4

4 に答える 4

1

これは 1 対多の例です:

   <set name="stockDailyRecords" table="stock_daily_record" 
            inverse="true" lazy="true" fetch="select">
        <key>
            <column name="STOCK_ID" not-null="true" />
        </key>
        <one-to-many class="com.mkyong.stock.StockDailyRecord" />
    </set>

はどちらが所有者かを示します

于 2013-07-31T06:35:24.257 に答える
0

これが私のコードにある例で、ユーティリティは多くのアカウントを持つことができます

最初の宣言は Account.hbm.xml 構成にあり、2 番目は Utility.hbm.xml にあります。

    <many-to-one name="utility" class="com.entity.Utility" fetch="select" lazy="false">
        <column name="utility_id" not-null="true" />
    </many-to-one>


    <property name="utility_id" not-null="true">
        <column name="utility_id" />
    </property>

*注記: Java ファイルとハイバネート ファイルの両方でこれを宣言しています。したがって、このスタンドアロンが可能かどうかは 100% わかりません。

于 2013-07-23T13:21:22.757 に答える