我要在SSH框架中 从sqlserver中查询前十行的数据 Session session = this.getSession();
String sql="select top 10 * from UserInfoTable order by userID";
List list=session.createQuery(sql).list();
这样一直出异常 请问Hibernate 查询语句中能这样写吗?
“select sum(userID) from UserInfoTable ”这样可以 为什么上面的不行
String sql="select top 10 * from UserInfoTable order by userID";
List list=session.createQuery(sql).list();
这样一直出异常 请问Hibernate 查询语句中能这样写吗?
“select sum(userID) from UserInfoTable ”这样可以 为什么上面的不行
select top 10 * from UserInfoTable u order by u.userID
确定UserInfoTable 是类名 userID是属性名称...
要不你用createSqlQuery那个方法...
如果使用sql 的话 要看 数据库的类型
mssql 支持 top n
mysql 不支持, 使用limit n,m 语句 (1楼 提到)
query.setMaxResults(pageSize);
list = session.creatQuery(查询语句).setFirstResult(开始位置).setMaxResults(要查询的总记录数).lis();
oracle中就没有top ,而可以用 where rownum<=10可以得到前10条记录.
sql server中才有top.在SQL Server中可以用select top 10 from 表名.得到前10条记录.
mysql中用limit 0,10就可以得到前10条了.
String sql="select {s.(top 10 *)} from UserInfoTable s order by s.userID";
List list=session.createSQLQuery(sql).addEntity("s",UserInfoTable).list();
这样应该行 了吧
createSQLQuery()执行sql 语句的方法
createQuery()好像只能执行HQL 语句