你只要符合他的hql语句规范, 他会根据你配置方言自动翻译成需要的sql语句, 所以你不用管, 这些已经在他底层实现了, mysqldialect, oracledialect, 你可以去看一下这个源码,比如oracle中:
final?stringbuilder?pagingselect?=?new?stringbuilder(?sql.length() 100?);
if?(hasoffset)?{
pagingselect.append(?"select?*?from?(?select?row_.*,?rownum?rownum_?from?(?"?);
}
else?{
pagingselect.append(?"select?*?from?(?"?);
}
pagingselect.append(?sql?);
if?(hasoffset)?{
pagingselect.append(?"?)?row_?)?where?rownum_?<=???and?rownum_?>??"?);
}
else?{
pagingselect.append(?"?)?where?rownum?<=??"?);
}
if?(?isforupdate?)?{
pagingselect.append(?"?for?update"?);
}
return?pagingselect.tostring();
}你如果问的是hibernate是如何实现分页的,那么可以看一下他的文档,或者参考下面的文章:
http://my.oschina.net/kkdo/blog/724623
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....