我有一个名为find_slow_persons()
的存储过程,它返回一个包含两列的表:
RETURNS TABLE(
person_id BIGINT,
time_late_by DOUBLE PRECISION
)
使用Hibernate,我可以通过2次调用获得这两个列的List
值:
SQLQuery query =
session.createSQLQuery("select * from find_slow_persons()").addScalar("person_id", LongType.INSTANCE);
SQLQuery time =
session.createSQLQuery("select * from find_slow_persons()").addScalar("time_late_by",
LongType.INSTANCE);
List<Long> duplicateDataPointIds = query.list();
List<Long> timeBy = time.list();
现在我得到了我想要的2个数据列表,有没有办法将这些2组合起来只进行1次查询?
答案 0 :(得分:2)
您是否有理由将该列分为两个查询?如果不是,以下内容应具有预期效果:
session.createSQLQuery("select * from find_slow_persons()")
.addScalar("person_id", LongType.INSTANCE)
.addScalar("time_late_by", LongType.INSTANCE)
// returns an object[] List you'll have to unpack
List duplicateDataPointIds = query.list();