from Content as c where c.cartoon.cartoonId = ? order by c.contentOrder
查出来的list为空
如果去掉order by c.contentOrder 就可以查出来
网上查了好多资料
都没见这样写法
求教一下该怎么写才对呢?谢谢
查出来的list为空
如果去掉order by c.contentOrder 就可以查出来
网上查了好多资料
都没见这样写法
求教一下该怎么写才对呢?谢谢
解决方案 »
- 大家来帮忙 关于ssh 框架中继承HibernateDaoSupport的问题(补充)
- 怎么在Java中连接SQL Sever 2005?急?急?急?
- 安装了J2SDK1.4.1_01,但是java -version 还是显示JDK1.3.1_01.我装了ORACLE9I,但是所有ORACLE服务都以停止。
- 急简单问题关于select
- JSP管理员网址怎么隐藏
- SmartUpload的使用
- ************标签库应用中的中文问题************
- 急死人了!各位大哥帮帮小弟,查查这个错吧!贴上代码了
- jbuilder的应用问题
- RESIN的问题??在线等待!
- 中文名文件不能下载
- 以下是纯JDBC连接数据库的代码,但连接不到数据库,抛出异常java.sql.SQLException: No suitable driver
估计是 没映射好吧,检查一下 Content 确实有个属性 contentOrder,而且确认一下 contentOrder 是基本类型,可以用来排序的。另外,检查数据库contentOrder是不是为null
Criteria c = createCriteria(Content.class);
c.createAlias("cartoon","car").add(Restrictions.eq("car.cartoonId","?"); //传递进来的值
c.addOrder(Order.desc("contentOrder")); //你要排序的字段名
List temp = c.list();
如果用
from Content as c order by c.contentOrder
from Content as c where c.cartoon.cartoonId = ?
都可以查出值来的
cool_scorpion 说的contentOrder 类型是Integer类型 是可以排序的
或者我换成主键去排序,得出结果list也是为空如果映射关系错了的话上面那两条语句应该会有问题吧。由于底层封装了对DAO的操作,没有封装Criteria类的操作,希望可以同过HQL语句解决。
public List findListByParam(String hql, Object... o)
{
List list = new ArrayList();
if (o != null)
{
list = this.getHibernateTemplate().find(hql, o);
}
else
{
list = this.getHibernateTemplate().find(hql); }
return list;
}
比如:order by id desc,我平时是这样写的.
我知道在sql里面是可以去掉后面的desc.因为sql有个默认的排序.
找到问题了
是不可以用*号的问题
select c.字段,c.字段,c.字段,c.字段 from Content as c where c.cartoon.cartoonId = ? order by c.contentOrder 转换成sql也一样
不能用*也要指定字段
select * from where cartoonId = ? order by contentOrder就可以查出来了
谢谢热心的各位