日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

servlet多重映射_关于多重映射问题,很奇怪

發(fā)布時間:2024/10/12 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 servlet多重映射_关于多重映射问题,很奇怪 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

發(fā)表時間:2004-03-29

我說說我的情況吧!

我的表是多對多關聯(lián)!

schema如下

drop table if exists course_employee_link

drop table if exists employee

drop table if exists course

create table course_employee_link (

employee_id BIGINT not null,

course_id BIGINT not null,

primary key (course_id, employee_id)

)

create table employee (

employee_id BIGINT not null,

email VARCHAR(30),

password VARCHAR(30),

user_name VARCHAR(30),

primary key (employee_id)

)

create table course (

course_id BIGINT not null,

course_description VARCHAR(255),

course_name VARCHAR(30),

quantity INTEGER,

sign_up_quantity INTEGER,

primary key (course_id)

)

alter table course_employee_link add index (course_id), add constraint FKA34265C7575ED7BF foreign key (course_id) references course (course_id)

alter table course_employee_link add index (employee_id), add constraint FKA34265C7367BE44C foreign key (employee_id) references employee (employee_id)

具體的處理函數(shù):

public ActionForward performSignIn(

ActionMapping mapping,

ActionForm form,

HttpServletRequest request,

HttpServletResponse response) {

CourseForm courseForm = (CourseForm) form;

//get session

HttpSession httpSession = request.getSession();

//get employee

Employee employee =

(Employee) httpSession.getAttribute(IntelConstants.EMPLOYEE_KEY);

if (null == employee) {

return mapping.findForward(IntelConstants.GLOBAL_FORWARD_LOGON);

} else {

//get course

Course course =

getControl().findByPrimaryKey(courseForm.getCourseId());//getControl() return a dao object

//get employee set

Set employees = course.getEmployees();

//add employee to set

employees.add(employee);

course.setSignUpQuantity(employees.size());

//update course

if (getControl().updateCourse(course)) {

transferProperties(courseForm, course, true);

return this.performDetail(

mapping,

courseForm,

request,

response);

} else {

return mapping.findForward(IntelConstants.GLOBAL_ERROR);

}

}

}

具體的錯誤信息:

net.sf.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: 2, of class: com.edynasty.intel.employee.jdo.Employee

at net.sf.hibernate.impl.SessionImpl.checkUniqueness(SessionImpl.java:1642)

at net.sf.hibernate.impl.SessionImpl.doUpdateMutable(SessionImpl.java:1414)

at net.sf.hibernate.impl.SessionImpl.doUpdate(SessionImpl.java:1440)

at net.sf.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:1364)

at net.sf.hibernate.engine.Cascades$4.cascade(Cascades.java:114)

at net.sf.hibernate.engine.Cascades.cascade(Cascades.java:436)

at net.sf.hibernate.engine.Cascades.cascadeCollection(Cascades.java:526)

at net.sf.hibernate.engine.Cascades.cascade(Cascades.java:452)

at net.sf.hibernate.engine.Cascades.cascade(Cascades.java:503)

at net.sf.hibernate.engine.Cascades.cascade(Cascades.java:482)

at net.sf.hibernate.impl.SessionImpl.doUpdate(SessionImpl.java:1445)

at net.sf.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:1364)

at net.sf.hibernate.engine.Cascades$4.cascade(Cascades.java:114)

at net.sf.hibernate.engine.Cascades.cascade(Cascades.java:436)

at net.sf.hibernate.engine.Cascades.cascadeCollection(Cascades.java:526)

at net.sf.hibernate.engine.Cascades.cascade(Cascades.java:452)

at net.sf.hibernate.engine.Cascades.cascade(Cascades.java:503)

at net.sf.hibernate.engine.Cascades.cascade(Cascades.java:482)

at net.sf.hibernate.impl.SessionImpl.doUpdate(SessionImpl.java:1445)

at net.sf.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:1364)

at net.sf.hibernate.engine.Cascades$4.cascade(Cascades.java:114)

at net.sf.hibernate.engine.Cascades.cascade(Cascades.java:436)

at net.sf.hibernate.engine.Cascades.cascadeCollection(Cascades.java:526)

at net.sf.hibernate.engine.Cascades.cascade(Cascades.java:452)

at net.sf.hibernate.engine.Cascades.cascade(Cascades.java:503)

at net.sf.hibernate.engine.Cascades.cascade(Cascades.java:482)

at net.sf.hibernate.impl.SessionImpl.doUpdate(SessionImpl.java:1445)

at net.sf.hibernate.impl.SessionImpl.update(SessionImpl.java:1326)

at com.edynasty.intel.course.dao.impl.CourseDAOImpl.updateCourse(CourseDAOImpl.java:50)

at com.edynasty.intel.course.control.CourseControl.updateCourse(CourseControl.java:62)

at com.edynasty.intel.course.action.CourseAction.performSignIn(CourseAction.java:73)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:324)

at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)

at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:216)

at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)

at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)

at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)

at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:284)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204)

at com.edynasty.filter.CompressionFilter.doFilter(CompressionFilter.java:80)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:233)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:257)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)

at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:245)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:199)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:184)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:156)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:972)

at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:206)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:833)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:732)

at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:619)

at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:688)

at java.lang.Thread.run(Thread.java:534)

總結

以上是生活随笔為你收集整理的servlet多重映射_关于多重映射问题,很奇怪的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。