>>>>我看你能用SQL Server的嵌套sql语句写分页语句,不如写一个SQLServerDialect类吧,提交给Gavin King,现在Hibernate还没有SQL Server的Dialect,很多用SQL Server的人都用Sybase的Dialect,想必郁闷很久了 :)

我是打算扩充sqlserver的分页功能,明天白天再仔细考虑可行性,呵呵

不过看其它的Dialect并不复杂,也没有多少需要实现的东东。

我们公司SQLServer用得很多,现在一个新的项目计划采用hibernate做持久层,不用自己写的了,所以这个功能是肯定得做。

具体怎么样,看看再说

突然想起来,不行!

我另外那个贴子里贴的那个语句是不能通用的!

select t2.* from
(
select top 20 t1.* from
(
select top 500020 * from dbgen as t order by t.F1
)
as t1 order by t1.F1 desc
)
as t2 order by t2.F1

看,大量使用了order by F1,如果F1不是主键或者没有被索引的话,这条语句就死翘翘了,记录越多越完!

我想老外这一点应该考虑过了,呵呵

sqlserver分页的话 最好的方法是使用临时表
将主键+自增字段插入临时表 然后用临时表和原来连接来取值

不过从hibernate的实现方法来说
可能只能通过子查询来实现了

Robin你用Yahoo! Messenger吗?

JDBC测试时,最好将setMaxRows setFetchSize全部用上。

太酷了