Java 如何将Hibernate集合映射从集合更改为列表

Java 如何将Hibernate集合映射从集合更改为列表,java,mysql,hibernate,Java,Mysql,Hibernate,我正在使用eclipse工具生成带注释的域代码类。 对于一对多&多对多关系,生成 用于集合的集合类型 我想将其更改为List或ArrayList。我的配置应该是什么 在reveng.xml中 另外,MySQL和Java之间的标准转换类型是什么。 我的意思是像varchar被转换成字符串,int到int等等 任何人都可以为类型转换共享一个非常标准的reveng.xml文件吗 另外,MySQL和Java之间的标准转换类型是什么。我的意思是像varchar被转换成字符串,int到int等等 为了参考H

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

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

另外,MySQL和Java之间的标准转换类型是什么。 我的意思是像varchar被转换成字符串,int到int等等

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

另外,MySQL和Java之间的标准转换类型是什么。我的意思是像varchar被转换成字符串,int到int等等

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

至于列表与集合,集合实际上应该是您应该使用的集合类型。列表和集合之间的唯一区别是,列表暗示元素的顺序,集合不允许重复。简单DB记录集没有指定的顺序,也没有重复项,因此该集是合适的。只有当您的查询指定了顺序和/或您需要某种可能产生重复项的联合时,列表才有用


我不知道如何将集合转换为列表,但我鼓励您质疑是否确实要这样做。

默认情况下,您不应该使用列表而不是集合。但如果您需要准时完成,这可以帮助您:

public <T> List<T> fromSetToList(Set<T> set) {
    return new ArrayList<T>(set);
}
从集合到列表的公共列表(集合){
返回新的ArrayList(集合);
}

实际上,我在问Hibernate工具在生成域代码时是否可以使用List而不是Set,因为大多数其他Hibernate方法(如getNamedQuery().List()返回List NOT Set…)。。。另外,我希望tinyint(1)转换为布尔值,而tinyint(5)转换为“short”,我如何在reveng.xml中定义它?这可能吗?你应该为每个问题打开一个新问题。不需要这样:List List=newarraylist(Set);