2010-05-09 2 views
1

Я использую Hibernate3 и Hibernate Tools 3.2.4 для генерации hbm.xml и java-файлов, и я хочу использовать List вместо HashSet (...). Я пытался изменить файлы hbm.xml, помещая список вместо set. Есть ли способ указать инструменты для спящего режима, которые я хочу автоматически генерировать список, а не HashSet? Это Exemple:Изменение настроек Hibernate 3

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", но Я провалил.

ответ

1

Ну, вместо использования <set> в вашем hbm.xml, вы пытались использовать <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. Collection mappings в документации для получения полной информации. Обратите особое внимание на раздел 6.2.3. Indexed collections.

Смежные вопросы