我正在使用hibernate通过AliasToBeanResultTransformer从db获取对象。 例如:
session.createsqlquery(“select col_1 col1,col_2 col2 from table”)。setresulttransformer(new AliasToBeanResultTransformer(MyClass.class))
和MyClass将col1,col2作为成员。
可以做以下事情: 有一个MyClass类,它将作为成员列表 使用相关表中相关行的列表填充此成员,但不进行2次查询并迭代将创建所需对象的循环?
意思是,实现hibernate在2个实体之间的关系,但是用我自己的实体?
感谢。
答案 0 :(得分:0)
不确定我是否再次正确地提出了问题。但是如果你想要这样的东西:
class MyClass{
private ClassAnother;
}
意味着您希望MyClass的成员为ClassAnother而不是“col1”和“col2”,那么答案尚未确定。
您只需要定义构造函数,使其以“col1”和“col2”作为参数。
希望这有帮助!
编辑:根据您的评论,您的课程将是:
class ClassA{
private List<ClassB> classBList;
}
并且您希望在单个SQL查询中填充它。如果这种理解是正确的,那么这是不可能的,因为你的结果集会为ClassB的每条记录返回ClassA字段的重复列。
答案 1 :(得分:0)
如果您希望纯粹检索一个列表,那么这个HQL应该可以解决这个问题
select clasA.classBList from ClassA clasA
此查询将获取classbList属性的所有条目...