主题 : 发现Finder类的一个bug
级别: 童生
UID: 12860
积分:46 加为好友
威望: 0 精华: 0
主题:4 回复:24
注册时间:2010-11-27
在线时长:0
1#   发表于:2011-04-07 12:49:53  IP:58.194.*.*
如果类似这样的HQL,无法转换成正确的 RowCountHql
select new new com.xxx.xxxDto(m.xxx, m.xxx) ... 
转换结果是:
select count( new com.xxx.xxxDto(m.xxx, m.xxx)  ) ...
很显然是错的

正确的应该是
select count( * ) ... 或 select count( m ) ...


我找到了这个方法,改成:
private String wrapProjection(String projection) {
if (projection.indexOf("select") == -1 || projection.indexOf(" new ") != -1) {
return ROW_COUNT;
} else {
return projection.replace("select", "select count(") + ") ";
}
}
级别: 总版主
UID: 10736
积分:149787 加为好友
威望: 212 精华: 42
主题:297 回复:127674
注册时间:2010-09-08
在线时长:90.1
2#   发表于:2011-04-07 13:06:45  IP:59.114.*.*
您好,感谢您提交的BUG,我们已经记录下来
路漫漫其修远兮,吾将上下而求索!
级别: 白丁
UID: 16795
积分:74 加为好友
威望: 0 精华: 0
主题:6 回复:25
注册时间:2011-03-11
在线时长:0
3#   发表于:2011-07-27 14:24:32  IP:124.143.*.*
Finder 可以写sql语句吗?
1 共1页