繁体   English   中英

Hibernate:从多个表中获取多个表列

[英]Hibernate : getting multiple table columns results from multiple tables

我正在使用休眠4和春季3。

我有5个表,每个表都映射有1个实体类。现在,如果我必须从1个表中选择列,我将在下面进行操作:

String hql = "from Employee E";
Query query = session.createQuery(hql);
List results = query.list();

此结果中的该值将为EmployeeEntity类型。

或者,我也可以使用条件。

现在我的要求是我必须从所有5个表中获取结果。每个表的1-2列。

以前是1个表,所以我得到一个实体,现在我从5个表中得到结果,因此如何在实体中映射它。

列出结果1 = query.list(); //考虑选择并获得不同表的结果中的6列。

现在如何迭代此结果1。

希望你能回答我的问题。

您可以使用Query Result Set Transformer

假设您有来自不同表的4列,例如tab1coltab2coltab3coltab4col

如下创建一个“ POJO”

class MyClass
{
 private Integer tablcol;
 private Integer tab2col;
 private Integer tab3col;
 private Integer tab4col;
  //  getter and setters
}

您可以按照以下方式转换结果集:

List<MyClass> myClassList=query.setResultTransformer(Transformers.aliasToBean(MyClass.class)).list();

Note :查询应包含一个结果集(类似于oracle中的游标)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM