Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用hibernate注释映射两个表(一对多)+;春季MVC_Java_Hibernate_Jsp_Spring Mvc - Fatal编程技术网

Java 如何使用hibernate注释映射两个表(一对多)+;春季MVC

Java 如何使用hibernate注释映射两个表(一对多)+;春季MVC,java,hibernate,jsp,spring-mvc,Java,Hibernate,Jsp,Spring Mvc,1.我使用的是spring mvc+Hibernate 2.我使用两个表实现了一个项目,它有一对多映射,工作非常好 3.然后我想使用另外两个表,它们也有一对多。这是我的相同场景。但是给出一个错误,似乎是配置错误,我是新手,任何人都可以帮助我 这是我的模型(会议类型和会议有1到多个) 控制器的这一部分## JSP中的此视图##() 当我只运行fist for reach时,它工作了,但当我同时运行这两个时,它给出了以下错误1.事情是这样的,我以前是这样做的1.它工作了 <c:forEach

1.我使用的是spring mvc+Hibernate 2.我使用两个表实现了一个项目,它有一对多映射,工作非常好 3.然后我想使用另外两个表,它们也有一对多。这是我的相同场景。但是给出一个错误,似乎是配置错误,我是新手,任何人都可以帮助我

这是我的模型(会议类型和会议有1到多个)

控制器的这一部分##

JSP中的此视图##() 当我只运行fist for reach时,它工作了,但当我同时运行这两个时,它给出了以下错误1.事情是这样的,我以前是这样做的1.它工作了

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

        <td>  This from MeetingTypes:  ${meetingType.typeName}</td> 

                  <c:forEach items="meetingType.Meetings" var="meet">

        <td>  This from Meetings:   ${meet.roomName}   </td>        
                  </c:forEach>
</c:forEach>
在浏览器上

HTTP状态500-javax.el.PropertyNotFoundException:在java.lang.String类型上找不到属性“roomName”

类型异常报告

消息javax.el.PropertyNotFoundException:在java.lang.String类型上找不到属性“roomName”

说明服务器遇到内部错误,无法满足此请求


异常

我在jsp中看到一个错误:
meetingType.Meetings
在第二个forEach中应该是
${meetingType.Meetings}
。 以下是更正的版本:

<c:forEach items="${meetingList}" var="meetingType">
    <td>  This from MeetingTypes:  ${meetingType.typeName}</td> 
    <c:forEach items="${meetingType.Meetings}" var="meet">
        <td>  This from Meetings:   ${meet.roomName}   </td>        
    </c:forEach>
</c:forEach>

这来自MeetingTypes:${meetingType.typeName}
这来自会议:${meet.roomName}

你可以在谷歌上找到很多例子。。首先尝试该示例,如果您遇到任何错误,请检查具体错误,然后尝试解决。。。
@Controller
public class MeetingTypesController {
    @Autowired
    private MeetingTypeService  meetingTypeService;
    @Autowired
    private MeetingService meetingService;
    @RequestMapping("/detailsPage")
    public String getAllmeeting(Map<String, Object> map){
        map.put("meetingList", meetingTypeService.getAllMeetingTypes());

        return "details";

    }
import java.util.List;

import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;

import pearson.dashboard.dao.MeetingTypeDao;

@Transactional
@Repository
public class MeetingTypeDaoImpl implements MeetingTypeDao  {
    @Autowired
    private SessionFactory sessionFactory;


    public List getAllMeetingTypes() {
        // TODO Auto-generated method stub
        return sessionFactory.getCurrentSession().createQuery("from MeetingTypes").list();
    }

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

        <td>  This from MeetingTypes:  ${meetingType.typeName}</td> 

                  <c:forEach items="meetingType.Meetings" var="meet">

        <td>  This from Meetings:   ${meet.roomName}   </td>        
                  </c:forEach>
</c:forEach>
Hibernate: select teams0_.teamID as teamID0_, teams0_.name as name0_ from Teams teams0_
Hibernate: select releases0_.teamID as teamID0_1_, releases0_.releaseID as releaseID1_, releases0_.releaseID as releaseID1_0_, releases0_.cabCall as cabCall1_0_, releases0_.orcleCode as orcleCode1_0_, releases0_.prodDate as prodDate1_0_, releases0_.releaseName as releaseN5_1_0_, releases0_.remarks as remarks1_0_, releases0_.rrr as rrr1_0_, releases0_.staging as staging1_0_, releases0_.status as status1_0_, releases0_.teamID as teamID1_0_ from Releases releases0_ where releases0_.teamID=?
Hibernate: select releases0_.teamID as teamID0_1_, releases0_.releaseID as releaseID1_, releases0_.releaseID as releaseID1_0_, releases0_.cabCall as cabCall1_0_, releases0_.orcleCode as orcleCode1_0_, releases0_.prodDate as prodDate1_0_, releases0_.releaseName as releaseN5_1_0_, releases0_.remarks as remarks1_0_, releases0_.rrr as rrr1_0_, releases0_.staging as staging1_0_, releases0_.status as status1_0_, releases0_.teamID as teamID1_0_ from Releases releases0_ where releases0_.teamID=?
Hibernate: select releases0_.teamID as teamID0_1_, releases0_.releaseID as releaseID1_, releases0_.releaseID as releaseID1_0_, releases0_.cabCall as cabCall1_0_, releases0_.orcleCode as orcleCode1_0_, releases0_.prodDate as prodDate1_0_, releases0_.releaseName as releaseN5_1_0_, releases0_.remarks as remarks1_0_, releases0_.rrr as rrr1_0_, releases0_.staging as staging1_0_, releases0_.status as status1_0_, releases0_.teamID as teamID1_0_ from Releases releases0_ where releases0_.teamID=?
Hibernate: select releases0_.teamID as teamID0_1_, releases0_.releaseID as releaseID1_, releases0_.releaseID as releaseID1_0_, releases0_.cabCall as cabCall1_0_, releases0_.orcleCode as orcleCode1_0_, releases0_.prodDate as prodDate1_0_, releases0_.releaseName as releaseN5_1_0_, releases0_.remarks as remarks1_0_, releases0_.rrr as rrr1_0_, releases0_.staging as staging1_0_, releases0_.status as status1_0_, releases0_.teamID as teamID1_0_ from Releases releases0_ where releases0_.teamID=?
Hibernate: select releases0_.teamID as teamID0_1_, releases0_.releaseID as releaseID1_, releases0_.releaseID as releaseID1_0_, releases0_.cabCall as cabCall1_0_, releases0_.orcleCode as orcleCode1_0_, releases0_.prodDate as prodDate1_0_, releases0_.releaseName as releaseN5_1_0_, releases0_.remarks as remarks1_0_, releases0_.rrr as rrr1_0_, releases0_.staging as staging1_0_, releases0_.status as status1_0_, releases0_.teamID as teamID1_0_ from Releases releases0_ where releases0_.teamID=?
Hibernate: select releases0_.teamID as teamID0_1_, releases0_.releaseID as releaseID1_, releases0_.releaseID as releaseID1_0_, releases0_.cabCall as cabCall1_0_, releases0_.orcleCode as orcleCode1_0_, releases0_.prodDate as prodDate1_0_, releases0_.releaseName as releaseN5_1_0_, releases0_.remarks as remarks1_0_, releases0_.rrr as rrr1_0_, releases0_.staging as staging1_0_, releases0_.status as status1_0_, releases0_.teamID as teamID1_0_ from Releases releases0_ where releases0_.teamID=?
Hibernate: select releases0_.teamID as teamID0_1_, releases0_.releaseID as releaseID1_, releases0_.releaseID as releaseID1_0_, releases0_.cabCall as cabCall1_0_, releases0_.orcleCode as orcleCode1_0_, releases0_.prodDate as prodDate1_0_, releases0_.releaseName as releaseN5_1_0_, releases0_.remarks as remarks1_0_, releases0_.rrr as rrr1_0_, releases0_.staging as staging1_0_, releases0_.status as status1_0_, releases0_.teamID as teamID1_0_ from Releases releases0_ where releases0_.teamID=?
Hibernate: select releases0_.teamID as teamID0_1_, releases0_.releaseID as releaseID1_, releases0_.releaseID as releaseID1_0_, releases0_.cabCall as cabCall1_0_, releases0_.orcleCode as orcleCode1_0_, releases0_.prodDate as prodDate1_0_, releases0_.releaseName as releaseN5_1_0_, releases0_.remarks as remarks1_0_, releases0_.rrr as rrr1_0_, releases0_.staging as staging1_0_, releases0_.status as status1_0_, releases0_.teamID as teamID1_0_ from Releases releases0_ where releases0_.teamID=?
Hibernate: select meetingtyp0_.meetingTypeID as meetingT1_2_, meetingtyp0_.typeName as typeName2_ from MeetingTypes meetingtyp0_
Hibernate: select meetings0_.meetingTypeID as meetingT6_2_1_, meetings0_.meetingID as meetingID1_, meetings0_.meetingID as meetingID3_0_, meetings0_.comment as comment3_0_, meetings0_.meetingHeading as meetingH3_3_0_, meetings0_.meetingTypeID as meetingT6_3_0_, meetings0_.roomName as roomName3_0_, meetings0_.sheduleTime as sheduleT5_3_0_ from Meetings meetings0_ where meetings0_.meetingTypeID=?
Hibernate: select meetings0_.meetingTypeID as meetingT6_2_1_, meetings0_.meetingID as meetingID1_, meetings0_.meetingID as meetingID3_0_, meetings0_.comment as comment3_0_, meetings0_.meetingHeading as meetingH3_3_0_, meetings0_.meetingTypeID as meetingT6_3_0_, meetings0_.roomName as roomName3_0_, meetings0_.sheduleTime as sheduleT5_3_0_ from Meetings meetings0_ where meetings0_.meetingTypeID=?
Nov 21, 2013 7:34:07 PM org.apache.catalina.core.ApplicationDispatcher invoke
SEVERE: Servlet.service() for servlet jsp threw exception
javax.el.PropertyNotFoundException: Property 'roomName' not found on type java.lang.String
    at javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:237)
    at javax.el.BeanELResolver$BeanProperties.access$400(BeanELResolver.java:214)
    at javax.el.BeanELResolver.property(BeanELResolver.java:325)
    at javax.el.BeanELResolver.getValue(BeanELResolver.java:85)
    at org.apache.jasper.el.JasperELResolver.getValue(JasperELResolver.java:104)
    at org.apache.el.parser.AstValue.getValue(AstValue.java:183)
    at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:185)
    at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:1026)
    at org.apache.jsp.WEB_002dINF.views.details_jsp._jspx_meth_c_005fforEach_005f1(details_jsp.java:750)
    at org.apache.jsp.WEB_002dINF.views.details_jsp._jspx_meth_c_005fforEach_005f0(details_jsp.java:707)
    at org.apache.jsp.WEB_002dINF.views.details_jsp._jspService(details_jsp.java:256)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)
    at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)
    at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:262)
    at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1180)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:950)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:931)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:722)

Nov 21, 2013 7:34:07 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [appServlet] in context with path [/controller] threw exception [javax.el.PropertyNotFoundException: Property 'roomName' not found on type java.lang.String] with root cause
javax.el.PropertyNotFoundException: Property 'roomName' not found on type java.lang.String
    at javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:237)
    at javax.el.BeanELResolver$BeanProperties.access$400(BeanELResolver.java:214)
    at javax.el.BeanELResolver.property(BeanELResolver.java:325)
    at javax.el.BeanELResolver.getValue(BeanELResolver.java:85)
    at org.apache.jasper.el.JasperELResolver.getValue(JasperELResolver.java:104)
    at org.apache.el.parser.AstValue.getValue(AstValue.java:183)
    at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:185)
    at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:1026)
    at org.apache.jsp.WEB_002dINF.views.details_jsp._jspx_meth_c_005fforEach_005f1(details_jsp.java:750)
    at org.apache.jsp.WEB_002dINF.views.details_jsp._jspx_meth_c_005fforEach_005f0(details_jsp.java:707)
    at org.apache.jsp.WEB_002dINF.views.details_jsp._jspService(details_jsp.java:256)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:412)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:339)
    at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)
    at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:262)
    at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1180)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:950)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:931)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:722)
<c:forEach items="${meetingList}" var="meetingType">
    <td>  This from MeetingTypes:  ${meetingType.typeName}</td> 
    <c:forEach items="${meetingType.Meetings}" var="meet">
        <td>  This from Meetings:   ${meet.roomName}   </td>        
    </c:forEach>
</c:forEach>