0

我有点坚持这个问题。假设我有一个域类:

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 结果行)?

任何建议/提示,例如?

在此先感谢,帕特里克

4

1 回答 1

0

Hibernate 在查询返回如此大的结果时会遇到问题,即使有 10k+ 个结果行也是如此。所以 250k 行会吃掉你所有的内存和 CPU。

我建议您尝试使用本机 SQL 查询,而且您不期望实际结果,只有INSERT ... SELECT

于 2011-02-28T15:05:04.547 回答