作者Laviathan ()
看板java
标题[问题] 关於JPA select出资料的结构
时间Sat Apr 16 09:24:30 2011
各位好
因为之前使用Hibernate一次select多个join在一起的table
其回传的List 结构是 DTO阵列 在 row 之前,可是在JPA中是颠倒的
也就是List 结构是 row 在 DTO阵列 之前
我的范例程式码如下:
public List findBudgetJoinOthersAll() {
entityManager = JPAUtil.getEntityManagerFactory().createEntityManager();
Query query = entityManager
.createQuery("SELECT b_, by_, bf_, br_, u_ "
+ "FROM Budget b_, Budgetyear by_, Budgetfield bf_, Branch br_, User u_ "
+ "where b_.byid = by_.byid and "
+ "b_.bfid = bf_.bfid and "
+ "b_.broid = br_.broid and " + "b_.uoid = u_.uoid");
List all = query.getResultList();
entityManager.close();
return all;
}
其回传的结果像是(2个row各自包含5个DTO):
http://www.badongo.com/pic/12835448
我的目的是颠倒过来,先5个DTO的阵列,各阵列再各自有2个row
结果JPA回传的结果跟我想要的相反
让我必须要跑回圈做转置...整个程式的复杂度变成n^2,实在很丑...
有办法像Hibernate的addEntity那样先DTO的List,下一层才是row吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 180.176.21.166
1F:→ Laviathan:难不成要先转成二维阵列後,再转置阵列吗?囧rz 04/16 10:53
※ 编辑: Laviathan 来自: 180.176.21.166 (04/16 11:36)