1

Hibernate3 と Hibernate Tools 3.2.4 を使用して hbm.xml と Java ファイルを生成し、HashSet(...) の代わりに List を使用したいと考えています。set の代わりに list を入れて、hbm.xml ファイルを変更しようとしました。HashSet ではなくリストを自動的に生成する休止状態のツールを指定する方法はありますか? これは例です:

Java クラス

public class Test implements java.io.Serializable {  

     private Long testId;  
     private Course course;  
     private String testName;  
     private Set<Question> questions = new HashSet<Question>( 0 );  
}

Test.hbm.xml:

<set name="questions" inverse="true" lazy="true" table="questions" fetch="select">  
  <key>  
    <column name="test_id" not-null="true" />  
  </key>  
  <one-to-many class="com.app.objects.Question" />
  ...
</set>

「reveng.xml」ファイルに手がかりを見つけられると思ったのですが、失敗しました。

4

1 に答える 1

1

<set>hbm.xml でa を使用する代わりに、aを使用しようとしました<list>か? 使用するには、コレクション テーブルにインデックス列が必要になることに注意してください<list>(Listは順序付けられたコレクションであるため)。

そのようなことを試してください:

<list name="questions" 
      inverse="true" 
      lazy="true" 
      table="questions" 
      fetch="select">  
  <key column name="test_id" not-null="true" />  
  <list-index column="sortOrder"/>
  <one-to-many class="com.app.objects.Question" />
</list>

セクション6.2を参照してください。詳細については、ドキュメントのコレクション マッピングを参照してください。セクション6.2.3に特に注意してください。索引付けされたコレクション

于 2010-05-09T21:17:40.323 に答える