我有一个按顺序查询的大型数据集。我只对第一行和最后一行感兴趣。很容易得到第一个结果(使用Criteria.setMaxResult()
),我可以通过颠倒顺序得到最后一个结果。
但是,要同时获得它们似乎需要两个查询,这对数据库可能不是很有效。由于这很容易用 SQL 实现,我想知道如何制定一个高级标准查询,可以一次获得它们?
请不要建议检索所有这些并获取列表的第一个和最后一个元素,因为数据集非常大,从数据库中读取所有这些元素需要几分钟。
我希望这个查询可以独立于数据库,但如果这并不容易,那么假设目标数据库是 Oracle。