如何将Hibernate集合映射从Set更改为List

时间:2011-07-08 17:50:35

标签: java mysql hibernate

我正在使用eclipse工具生成带注释的域代码类。 对于一对多和一对一许多关系,代码生成 用于集合的集合类型。

我想将其更改为List或ArrayList。我的配置应该是什么 在reveng.xml中

此外,MySQL和Java之间的标准转换类型是什么。 我的意思是将varchar转换为string,int转换为int等。

任何人都可以共享一个非常标准的reveng.xml文件进行类型转换...... ???

2 个答案:

答案 0 :(得分:1)

  

此外,MySQL和Java之间的标准转换类型是什么。我的意思是将varchar转换为string,int转换为int等。

关于Hibernate映射的参考,我发现以下链接对基本场景很有帮助。有关更复杂的映射,请参阅完整的hibernate文档。

Hibernate Mapping Cheat Sheet

至于List vs. Set,Set实际上应该是你应该使用的Collection类型。 List和Set之间的唯一区别是List表示元素的顺序,Set不允许重复。简单的DB记录集没有指定的顺序,并且没有重复项,因此Set是合适的。只有当您的查询确实指定了顺序和/或您想要某种可能产生重复的UNION时,List才有用。

我不知道如何将你的集合变成列表,但我鼓励你质疑你是否真的想要这样做。

答案 1 :(得分:1)

默认情况下不应使用List而不是Set。但如果你需要准时,那可以帮到你:

public <T> List<T> fromSetToList(Set<T> set) {
    return new ArrayList<T>(set);
}