hibernate查询的问题
一个hibernate的查询我这样写的
private DetachedCriteria getDetachCriteria(SearchForm sf)
{
String category = sf.getCategory();
DetachedCriteria detachCri = DetachedCriteria
.forClass(getClassByCategory(category));
if (!"all".equals(sf.getType()) && !"".equals(sf.getType()))
{
detachCri.add(Restrictions.eq("type", sf.getType()));
}
if (sf.getName() != null && !sf.getName().equals(""))
{
detachCri.add(Restrictions.like("name", sf.getName(),
MatchMode.ANYWHERE));
}
if (sf.getStandard() != null && !sf.getStandard().equals(""))
{
detachCri.add(Restrictions.like("standard", sf.getStandard(),
MatchMode.ANYWHERE));
}
/** **********set order by**************** */
String orderBy = sf.getOrderBy();
if (HOT.equals(orderBy))
{
detachCri.addOrder(Order.desc(HOT));
} else if (ADD_DATE.equals(orderBy))
{
detachCri.addOrder(Order.desc(ADD_DATE));
} else if (VIP_PRICE.equals(orderBy))
{
detachCri.addOrder(Order.desc(VIP_PRICE));
} else
{
detachCri.addOrder(Order.desc(PRICE));
}
return detachCri;
}
在mysql里面能用,但在mssql里面说是orderby中的东西不包含在groupby或者select中,请问各位大哥,怎么把groupby 语句加进去呢,
如果是用Projections.groupProperty这个的话,那个DetachedCriteria detachCri = DetachedCriteria.forClass(getClassByCategory(category)); 里面的class又不包含hot、price这几个属性
希望各位大侠不吝赐教……
------解决方案--------------------orderby中的东西不包含在groupby或者select中,是不是你的程序有问题哦
你把最终的SQL执行语句复制出来看看嘛
------解决方案--------------------SQL语句的毛病 打印看看
------解决方案--------------------orderby中的东西不包含在groupby或者select中
因为你orderby要有个参照,比如说参照ID,按照ID来排序,如果你在查询的时候没有
查询出ID来,就没办法按照orederby来排序了!
------解决方案--------------------