[英]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列,例如tab1col
, tab2col
, tab3col
, tab4col
。
如下创建一个“ 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.