1

次のデータベーススキーマがあります。

CREATE TABLE A (id INTEGER);
CREATE TABLE Single_Values (fk_a INTEGER, fk_b INTEGER, value VARCHAR(255));
CREATE TABLE List_Values (fk_a INTEGER, fk_b INTEGER, value VARCHAR(255));
CREATE TABLE B (id INTEGER, name VARCHAR(255));

そして、私は次のオブジェクトモデル(概略)を持っています:

class B{
    Integer id;
    String name;
}

class SingleValue extends B{
    String value;
}

class ListValues extends B{
    List<String> values;
}

class A{
    Integer id;
    Map<Integer, SingleValue> singleMap;
    Map<Integer, ListValues> listMap;
}

次に、単一の値のマップへのマッピングを作成しました:

<class name="B">
   <id name="id"/>
   <property name="name"/>
   <joined-subclass name="SingleValue">
       <key column="fk_b"/>
       <property name="value"/>
   </joined-subclass>
</class>
<class name="A">
    <id name="id"/>
    <map name="singleMap" table="Single_Values">
        <key column="fk_a"/>
        <map-key column="fk_b"/>
        <one-to-many class="B"/>
    </map>
</class>

そして、私はlistMapのマッピングに固執しました。これをマッピングする際の助けをいただければ幸いです。

4

1 に答える 1

1

マップは使用せず、リストを使用してください。マップスタイルを検索する場合は、クエリを使用するか、データベースからリストを取得した後に一時的なマップを作成します。また、@ annotationsはあなたの生活をより簡単にしますか?

于 2011-05-02T01:40:54.617 に答える