如何在休眠的用户定义函数中使用sql仍然有分页

问题描述

我需要运行一个查询,该查询使用在Oracle sql(10g)数据库上创建的函数。 我已经看到Hibernate支持某些聚合函数(平均,求和,最小值,最大值和某些计数形式),但是我想要自己的函数,所以这不起作用。 我还看到可以将sqlQuery对象用于直接sql注入。但是在这里我松了分页,我真的需要这个。 有人知道该怎么做吗? 提前致谢!     

解决方法

对于HQL查询,您需要基于当前使用的Oracle方言(Oracle10gDialect)创建自己的方言,并将功能添加到该方言中。 对于条件查询,您可以定义自己的条件实现并在查询中使用它。此条件负责SQL表达式的生成。查看Hibernate源代码,以找到与您要创建的现有准则实现类似的示例。