更改 Hibernate 3 设置
我使用 Hibernate3 和 Hibernate Tools 3.2.4 生成 hbm.xml 和 java 文件,我想使用 List 而不是 HashSet(...)。我尝试修改 hbm.xml 文件,放置列表而不是设置。有没有什么方法可以指定我想要自动生成列表而不是哈希集的休眠工具? 这是一个例子:
Java class
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”文件中找到线索,但我失败了。
I use Hibernate3 and Hibernate Tools 3.2.4 to generate hbm.xml and java files and I want to use List instead of HashSet(...). I've tried to modify the hbm.xml files, putting list instead of set. Is there any way to specify to hibernate tools that I want to generate automatically a list not a HashSet?
This is an exemple:
Java class
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>
I thought that I could find a clue in the "reveng.xml" file, but I failed.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
那么,您是否尝试在 hbm.xml 中使用
,而不是使用
?请注意,您需要在集合表中有一个索引列才能使用
(因为List
是一个有序集合)。尝试类似的操作:
请参阅 6.2 部分。文档中的集合映射以获取完整详细信息。请特别注意 6.2 部分.3.索引集合。
Well, instead of using a
<set>
in your hbm.xml, did you try to use a<list>
? Note that you'll need an index column in the collection table to use<list>
(sinceList
is an ordered collection).Try something like that:
Refer to the section 6.2. Collection mappings in the documentation for full details. Pay a special attention to the section 6.2.3. Indexed collections.