相关文章
更多最近更新
更多org/hibernate/impl/IteratorImpl+java.util.NoSuchElementException: No more result
2019-03-25 13:45|来源: 网路
Struts Problem Report
Struts has detected an unhandled exception:
[/color]
Messages:
No more results
File: [color=blue]org/hibernate/impl/IteratorImpl.java [/size]
Line number: 132
Stacktraces
java.util.NoSuchElementException: No more results[size=x-small]
org.hibernate.impl.IteratorImpl.next(IteratorImpl.java:132)
action.LoginAction.getSpace(LoginAction.java:88)
action.LoginAction.execute(LoginAction.java:42)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:452)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:291)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:254)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:498)
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
java.lang.Thread.run(Thread.java:619)
问题补充:这是getSpace( )函数:
public void getSpace() {
String sql1 = "from Space where username='"+username+"'";
SessionFactory sessionFactory1 = new Configuration().configure().buildSessionFactory();
Session session1 = sessionFactory1.openSession();
Transaction tx1 = session1.beginTransaction();
Query q1 = session1.createQuery(sql1);
Space space = (Space)q1.iterate().next();
HttpServletRequest request1 = ServletActionContext.getRequest();
HttpSession sess1 = request1.getSession();
sess1.setAttribute("current_userspace", space);
tx1.commit();
}
怎么还要判断的吗?请问怎样修改呢?
问题补充:这是用来实现登录功能,结果应该是确定的呀……
from Space where username= :name 与 from Space where username='"+username+"'
有什么本质的不同吗?
而且用来实现登录的功能不应该应该是:where username='"+username+"'这样才能实现登录吗?
问题补充:
这个这个防止SQL注入吧,如果把username直接拼接上去,可能别人会输入特殊的字符串 比如 aaa' or '1'= '1
拼接起来就是from Space where username= 'aaa' or '1'= '1'
"from Space where username= :name"则是留一个参数位置给 username,填入的值只能当做是username的值 而不能拼接,hql会自动把 :name 换成q1.setParameter("name", username); 里设置的值
哦…… 受益啦,呵呵,你好 asyty谢谢你啦!我试试看哈……
问题补充:有个新问题啦: No row with the given identifier exists: [model.Space#0]
Stacktraces
org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [model.Space#0]
org.hibernate.impl.SessionFactoryImpl$2.handleEntityNotFound(SessionFactoryImpl.java:435)
org.hibernate.proxy.AbstractLazyInitializer.checkTargetState(AbstractLazyInitializer.java:189)
org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:178)
org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:215)
org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:190)
model.Space_$$_javassist_0.setUnusedsize(Space_$$_javassist_0.java)
action.UpfileAction.updateSpace(UpfileAction.java:87)
action.UpfileAction.execute(UpfileAction.java:65)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:452)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:291)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:254)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:314)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:498)
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
java.lang.Thread.run(Thread.java:619)
updateSpace() 函数:
public void updateSpace() {
int updateused;
int updateunused;
updateused = space.getUsedsize()+(int)file.length();
updateunused = space.getUnusedsize()-(int)file.length();
SessionFactory sessionFactory=new Configuration().configure().buildSessionFactory();
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
Space userspace = new Space();
userspace=(Space)session.load(Space.class, space.getSpaceID());
userspace.setUnusedsize(updateunused);
userspace.setUsedsize(updateused);
session.update(userspace);
session.flush();
tx.commit();
session.close();
}
问题应该是出在数据库表的关联上:
users表的主键是:userID,userspace表的主键是:spaceID;通过username关联。
请问怎么解决呢?
问题补充:
应该们问题呀:username 两张表都是varchar类型,长度为45;
那这语句 userspace.setUnusedsize(updateunused);请问怎样修改呢? 谢谢!
Struts has detected an unhandled exception:
[/color]
Messages:
No more results
File: [color=blue]org/hibernate/impl/IteratorImpl.java [/size]
Line number: 132
Stacktraces
java.util.NoSuchElementException: No more results[size=x-small]
org.hibernate.impl.IteratorImpl.next(IteratorImpl.java:132)
action.LoginAction.getSpace(LoginAction.java:88)
action.LoginAction.execute(LoginAction.java:42)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:452)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:291)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:254)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:498)
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
java.lang.Thread.run(Thread.java:619)
问题补充:这是getSpace( )函数:
public void getSpace() {
String sql1 = "from Space where username='"+username+"'";
SessionFactory sessionFactory1 = new Configuration().configure().buildSessionFactory();
Session session1 = sessionFactory1.openSession();
Transaction tx1 = session1.beginTransaction();
Query q1 = session1.createQuery(sql1);
Space space = (Space)q1.iterate().next();
HttpServletRequest request1 = ServletActionContext.getRequest();
HttpSession sess1 = request1.getSession();
sess1.setAttribute("current_userspace", space);
tx1.commit();
}
怎么还要判断的吗?请问怎样修改呢?
问题补充:这是用来实现登录功能,结果应该是确定的呀……
from Space where username= :name 与 from Space where username='"+username+"'
有什么本质的不同吗?
而且用来实现登录的功能不应该应该是:where username='"+username+"'这样才能实现登录吗?
问题补充:
asyty 写道
引用
有什么本质的不同吗?
这个这个防止SQL注入吧,如果把username直接拼接上去,可能别人会输入特殊的字符串 比如 aaa' or '1'= '1
拼接起来就是from Space where username= 'aaa' or '1'= '1'
"from Space where username= :name"则是留一个参数位置给 username,填入的值只能当做是username的值 而不能拼接,hql会自动把 :name 换成q1.setParameter("name", username); 里设置的值
哦…… 受益啦,呵呵,你好 asyty谢谢你啦!我试试看哈……
问题补充:有个新问题啦: No row with the given identifier exists: [model.Space#0]
Stacktraces
org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [model.Space#0]
org.hibernate.impl.SessionFactoryImpl$2.handleEntityNotFound(SessionFactoryImpl.java:435)
org.hibernate.proxy.AbstractLazyInitializer.checkTargetState(AbstractLazyInitializer.java:189)
org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:178)
org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:215)
org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:190)
model.Space_$$_javassist_0.setUnusedsize(Space_$$_javassist_0.java)
action.UpfileAction.updateSpace(UpfileAction.java:87)
action.UpfileAction.execute(UpfileAction.java:65)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:452)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:291)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:254)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:314)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:498)
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
java.lang.Thread.run(Thread.java:619)
updateSpace() 函数:
public void updateSpace() {
int updateused;
int updateunused;
updateused = space.getUsedsize()+(int)file.length();
updateunused = space.getUnusedsize()-(int)file.length();
SessionFactory sessionFactory=new Configuration().configure().buildSessionFactory();
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
Space userspace = new Space();
userspace=(Space)session.load(Space.class, space.getSpaceID());
userspace.setUnusedsize(updateunused);
userspace.setUsedsize(updateused);
session.update(userspace);
session.flush();
tx.commit();
session.close();
}
问题应该是出在数据库表的关联上:
users表的主键是:userID,userspace表的主键是:spaceID;通过username关联。
请问怎么解决呢?
问题补充:
asyty 写道
应该是米没有查找到关联的对象,两个表关联字段的值不匹配
提示说
userspace.setUnusedsize(updateunused); 这句有问题
提示说
userspace.setUnusedsize(updateunused); 这句有问题
应该们问题呀:username 两张表都是varchar类型,长度为45;
那这语句 userspace.setUnusedsize(updateunused);请问怎样修改呢? 谢谢!
相关问答
更多-
java.util.NoSuchElementException - 读取用户输入的扫描器(java.util.NoSuchElementException - Scanner reading user input)[2021-11-10]
这让我很困惑,但这是我最终发现的。 当你在第一个方法中调用sc.close()时,它不仅会关闭你的扫描器,还会关闭你的System.in输入流。 您可以通过在第二种方法的顶部打印其状态来验证它,如下所示: System.out.println(System.in.available()); 所以,现在当你重新实例化Scanner时,它没有发现任何开放的System.in流,因此也是异常。 我怀疑是否有任何出路重新打开System.in因为: public void close() throws I ... -
这通常(但不总是)是一个&'static str或String 这意味着开发人员(您使用的库中的一个)可能会使用其他类型。 在这种情况下,对downcast_ref的调用将失败。 我的建议是处理你知道的案例,并添加一个包含默认消息的catch-all案例。 此外,您还应该考虑打印位置,因为即使没有消息,它也非常有用。 全部告诉: use std::panic; use std::ops::Deref; panic::set_hook(Box::new(|panic_info| { let (fil ...
-
我已经修好了。 这是Quartz线程的一个问题。 默认情况下,Quartz管理一个线程池,这些线程在不同作业的执行之间重复使用。 我的ServiceLocator类负责打开和关闭连接,它基于ThreadLocal对象。 似乎我的一个调度作业没有正确关闭它的连接,之后,在与此相同的线程上执行的所有作业都会导致错误。 我无法弄清楚什么是有问题的工作,我最终做的是更改Quartz的默认连接池以获得自定义的连接池,这样我就为每个作业执行创建一个新线程,而不是共享某个所有工作的线程数量。 这是我写过的Quartz自定 ...
-
你检查过javadoc了吗? 有一个很好的表格,根据你的需要显示调用哪种方法。 在你的情况下,我猜你需要阻塞并等待队列是空的。 如果是这种情况,您应该替换remove 。 注意:我没有检查代码的详细信息,因此可能存在其他问题。 Have you checked the javadoc? There is a nice table that shows which method to call depending on what you want. In your case I guess you need ...
-
之后马车回来了 System.out.println("Enter 2 to play a hand or 1 to quit the game: "); while ((game = scan.nextInt()) == 2) 从不消耗,并且在调用playHand时仍然在输入上。 所以在调用playHand之前调用scan.nextLine(); The intial Carriage return pressed after System.out.println("Enter 2 to play a ...
-
您可以修改学生构造函数,如下所示,以检查发生异常时的行数。 public Student(String studentRecord){ String strBirthDate; Scanner sc = new Scanner(studentRecord); sc.useDelimiter(";"); try { adminNo = sc.next(); name = sc.next(); strBirthDate = ...
-
正如评论中所提到的,最简单的方法是始终返回Promise,并使用已完成的Promise包装非异步操作。 要将值包装在已完成的promise中,只需使用static pure方法: public static Promise
doSomethingAsync() { if (...) { return getData(); } else { return F.Promise.pure(ok(...)); } } As mentioned in the commen ... -
你应该在调用hasNext()之前检查hasNext() next() 。 可能没有符合您标准的元素。 Scanner s = new Scanner(file); s.useDelimiter("\\Z"); if(s.hasNext()) { contents = s.next().toCharArray(); } You should check hasNext() before calling next(). Probably there are no elements matching y ...
-
当你调用nextLine()时: while((test=filescScanner.nextLine())!=null) 它抛出异常表示扫描仪没有更多输入线。 因此,它永远不会返回null。 请尝试使用hasNextLine()来检查是否有下一行。 while(filescScanner.hasNextLine()) { test=filescScanner.nextline(); ... } hasNextLine public boolean hasNextLine() 返回:当 ...
-
改成 String sql = "from TestAccount where username = ? and password = ?"; Change to String sql = "from TestAccount where username = ? and password = ?";