hibernate涉及2个对象

时间:2011-06-13 09:40:41

标签: java hibernate

我正在使用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个实体之间的关系,但是用我自己的实体?

感谢。

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属性的所有条目...