hibernate search 查询数据库总数

cb198811 发布于 2015/01/03 15:25
阅读 1K+
收藏 0

现在我用的是 hibernate search 做全文索引 索引字段是content


QueryParser queryParser = new QueryParser(Version.LUCENE_31, "content", new KeywordAnalyzer());
try {
Query query = queryParser.parse(keyword);
FullTextSession session = Search.getFullTextSession(this.getSession());
FullTextQuery fullTextQuery = session.createFullTextQuery(query, Job.class);
Criteria c = session.createCriteria(Job.class);
c.add(Restrictions.eq("cid", cid));
if(mode != 0){
c.add(Restrictions.eq("mode", mode));
}
if (btime != null && !btime.equals("") && etime != null && !etime.equals("")) {
c.add(Restrictions.gt("ctime", btime));
c.add(Restrictions.lt("ctime", etime));
}
c.setProjection(Projections.rowCount());
c.add(Restrictions.lt("ctime", lastCtime));
c.addOrder(Order.desc("ctime"));
fullTextQuery.setCriteriaQuery(c);
fullTextQuery.uniqueResult().toString();
 
return 0; 
} catch (ParseException e) {
e.printStackTrace();
}


这样用生成的sql 为

select count(*) from job where id in (?,?,?) and cid=? ........

但是现在报错说返回的是多条数据

想要达到的结果是

hibernate search 先查询索引 然后根据索引 出来的id 再加上cid做过滤总数


加载中
0
空杯子
空杯子
fullTextQuery.getResultSize()
返回顶部
顶部