1,出现问题的代码:
List rankList = bookDao.findRank();
2,调用的方法:
public List findRank()
{
String sql = "select top(10)* from bookInfo order by bookStar";
Query query = getSession().createQuery(sql);
List list = query.list();
return list;
}
3,出现的异常:
javax.servlet.ServletException: org.hibernate.hql.ast.QuerySyntaxException: unexpected token: from near line 1, column 17 [select top(10)* from bookInfo order by bookStar]
4,求解?
List rankList = bookDao.findRank();
2,调用的方法:
public List findRank()
{
String sql = "select top(10)* from bookInfo order by bookStar";
Query query = getSession().createQuery(sql);
List list = query.list();
return list;
}
3,出现的异常:
javax.servlet.ServletException: org.hibernate.hql.ast.QuerySyntaxException: unexpected token: from near line 1, column 17 [select top(10)* from bookInfo order by bookStar]
4,求解?
Create a new instance of Query for the given HQL query string.
SQLQuery createSQLQuery(String queryString)
Create a new instance of SQLQuery for the given SQL query string.
Cannot convert [Ljava.lang.Object;@918c34 of type class [Ljava.lang.Object; to class book.dao.BookInfo An exception occurred processing JSP page /book/bookCatalog.jsp at line 92<c:forEach var="book" items="${requestScope.rankList}" varStatus="index" >
92: <div ><book:book_60 book="${book }"></book:book_60></div>
93: </c:forEach>2,而这页面标签是没有问题的,自己写的标签,之前测试通过,并能正常显示数据:
<%@ attribute name="book" required="true" type="book.dao.BookInfo" %>
<c:set var="id" value="${book.id }" scope="request"></c:set>
<%
String img="/jsp/book/pic/60/"+request.getAttribute("id")+".jpeg";
request.setAttribute("img",img);
%>
<a href="/jsp/book.do?id=${book.id }"><img src="${img }"/></a>
<a href="/jsp/book.do?id=${book.id }">${book.bookName }</a>
<span class="bookPrice">$${book.bookPrice }</span>
<span class="bookFavourable">$${book.bookFavourable }</span>
3,还是有问题?
为什么hibernate生成的dao.findAll()得到的list能够在面面以${bookInfo.bookName}显示,
而我自己写的dao.findRand()得到的list却不行,
只能以${bookInfo[0]}的方式显示?难道list中装的不是bookInfo对象?