问题描述
DetachedCriteriacriteria=DetachedCriteria.forClass(Comment.class);criteria.createAlias("product","product").add(Restrictions.eq("product.id",productId));criteria.addOrder(Order.desc("createDate"));
首先,我只需要Comment,但是我要用comment中的product_id外键作为条件,用这种方式查询会得到的sql语句包含了comment的字段和product的字段,而且还join了product表。这样查询效率似乎不太好。用HQL的话fromCommentcommentwherecomment.product=?orderbycomment.createDatedesc
就不会joinproduct表,但是HQL不支持limit。请问可以用什么方法通过Criteria创建条件又不joinprouduct表或者让生成的select中不带有product的字段?
解决方案
本帖最后由 waiting_hao 于 2014-11-23 21:15:47 编辑
解决方案二:
DetachedCriteriacriteria=DetachedCriteria.forClass(Comment.class);criteria.createAlias("comment","comment").add(Restrictions.eq("comment.product.id",productId));criteria.addOrder(Order.desc("createDate"));
时间: 2024-12-23 18:39:42