我对这个问题有点困惑。 假设我有一个域类:
class Activity {
String activityID
String activityDescription
String activityType
}
和另一个
class ActivityMap {
String activityID1
String activityDescription1
String activityType1
String activityID2
String activityDescription2
String activityType2
}
我想使用域类Activity与其自身的交叉连接的结果填充ActivityMap域类,即具有等效SQL查询的结果
SELECT a.activityID, a.activityDescription, a.activityType, a1.activityID, a1.activityDescription, a1.activityType
FROM Activity AS a, Activity AS a1
ORDER BY a.activityID, a1.activityID;
我不确定哪种方法最有效:使用Criteria,HQL或嵌入式SQL查询,因为产生的数据集可能非常大(300-50 +活动发生次数,预计250k结果行)?
任何建议/提示,例如?
提前致谢, 帕特里克
答案 0 :(得分:0)
即使有10k +结果行,Hibernate也会遇到查询返回如此大的结果的问题。所以250k行会占用你所有的内存和cpu。
我建议你尝试使用原生SQL查询,而且你不期望实际的结果,只有INSERT ... SELECT