Hibernate .自动接线; 导入org.springframework.stereotype.Service; 导入org.springframework.transaction.annotation.Transactional; 导入com.jwt.dao.ItemsDAO; 导入com.jwt.model.Items; @服务 @交易的 公共类ItemsServiceImpl实现ItemsService{ @自动连线 私人物品"物品"物品";; @凌驾 @交易的 公共无效附加项(项目){ 项目DAO.补充项目(项目); } @凌驾 @交易的 公共列表getAllitems(){ 返回itemsDAO.getAllitems(); } @凌驾 @交易的 公共void deleteitems(整数itemsId){ itemsDAO.deleteitems(itemsId); } 公共项getitems(int itemsid){ 返回itemsDAO.getitems(itemsid); } 公共项目更新项目(项目){ //TODO自动生成的方法存根 返回项目AO.updateitems(项目); } 公共无效设置ItemsDAO(ItemsDAO ItemsDAO){ this.itemsDAO=itemsDAO; } @凌驾 @交易的 公共列表搜索项(字符串类别id、字符串发布者id){ returnitemsdao.searchitems(类别id、发布者id); } }

Hibernate .自动接线; 导入org.springframework.stereotype.Service; 导入org.springframework.transaction.annotation.Transactional; 导入com.jwt.dao.ItemsDAO; 导入com.jwt.model.Items; @服务 @交易的 公共类ItemsServiceImpl实现ItemsService{ @自动连线 私人物品"物品"物品";; @凌驾 @交易的 公共无效附加项(项目){ 项目DAO.补充项目(项目); } @凌驾 @交易的 公共列表getAllitems(){ 返回itemsDAO.getAllitems(); } @凌驾 @交易的 公共void deleteitems(整数itemsId){ itemsDAO.deleteitems(itemsId); } 公共项getitems(int itemsid){ 返回itemsDAO.getitems(itemsid); } 公共项目更新项目(项目){ //TODO自动生成的方法存根 返回项目AO.updateitems(项目); } 公共无效设置ItemsDAO(ItemsDAO ItemsDAO){ this.itemsDAO=itemsDAO; } @凌驾 @交易的 公共列表搜索项(字符串类别id、字符串发布者id){ returnitemsdao.searchitems(类别id、发布者id); } },hibernate,spring-mvc,Hibernate,Spring Mvc,输入搜索JSP页面 search_1.jsp 搜索项目 类别: 书 有声读物 视频 音乐 发布者ID: 哈珀柯林斯 企鹅 方济会传媒 奥比斯 搜索结果将在此处填充 searchResult.jsp 书店存货 ISBN 标题 类别 作者 出版商 价格 股票 照片 ${items.ISBN} ${items.title} ${items.category_id} ${items.author} ${items.publisher\u id} ${items.price} ${items.sto

输入搜索JSP页面

search_1.jsp


搜索项目
类别:
书
有声读物
视频
音乐
发布者ID:
哈珀柯林斯
企鹅
方济会传媒
奥比斯
搜索结果将在此处填充

searchResult.jsp


书店存货
ISBN
标题
类别
作者
出版商
价格
股票
照片
${items.ISBN}
${items.title}
${items.category_id}
${items.author}
${items.publisher\u id}
${items.price}
${items.stock}
${items.photo_id}

完整错误消息


root cause

java.lang.NumberFormatException: For input string: "ISBN"
    java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    java.lang.Integer.parseInt(Integer.java:580)
    java.lang.Integer.parseInt(Integer.java:615)
    javax.el.ListELResolver.coerce(ListELResolver.java:163)
    javax.el.ListELResolver.getValue(ListELResolver.java:51)
    org.apache.jasper.el.JasperELResolver.getValue(JasperELResolver.java:104)
    org.apache.el.parser.AstValue.getValue(AstValue.java:183)
    org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:185)
    org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:1026)
    org.apache.jsp.WEB_002dINF.pages.searchResult_jsp._jspService(searchResult_jsp.java:131)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
    org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:168)
    org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:303)
    org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1228)
    org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1011)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:955)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:857)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)


您必须将条件设置为参数,才能在
ItemsDAOImpl

public List searchitems(字符串类别id、字符串发布者id){
返回sessionFactory.getCurrentSession().createQuery(“来自项目E,其中E.category\u id=:category\u id和E.publisher\u id=:publisher\u id”)
.setParameter(“类别id”,类别id)
.setParameter(“发布者id”,发布者id)
.list();
}
searchResult.jsp
中,您正在迭代
listItems2
,但您在控制器中添加了is属性作为
items

改变

 <c:forEach var="items" items="${listItems2}">


另一方面,请正确命名实体。实体名称应为
,集合名称应为
。但是稍后再做,首先尝试解决当前的问题。

最后是一个简单的语法问题@saifulislamplabon Answer修复了我的Hibernate部分和错误——“输入字符串的java.lang.NumberFormatException:”ISBN“是因为我的JSP页面出现了一个错误,
是否使用mysql如果是,请共享DESC您的表名删除您的表并重新创建它。”。您的列可能同时包含
string
int
值column@Vipul我现在只是把它添加到问题中。@Sudhir Ojha数据并不混杂。列的数据仅符合定义的数据类型。无论如何,我将删除并创建另一个check@NalakaSapumal您使用的是哪个数据库还不清楚;另外,请您在终端控制台中执行此描述表名称。它修复了一些问题,但仍然收到相同的错误。然而,我可以从IDE中看到hibernate正在处理给定的查询。错误-“java.lang.NumberFormatException:用于输入字符串:“ISBN”
 <c:forEach var="items" items="${listItems2}">
 <c:forEach var="items" items="${items}">