| 发表于:2007-12-05 17:06:583楼 得分:0 |
那个问题解决了,可是现在又报了个session的错误!! %%%% error creating sessionfactory %%%% org.hibernate.mappingexception: could not instantiate id generator at org.hibernate.id.identifiergeneratorfactory.create(identifiergeneratorfactory.java:97) at org.hibernate.mapping.simplevalue.createidentifiergenerator(simplevalue.java:152) at org.hibernate.impl.sessionfactoryimpl. <init> (sessionfactoryimpl.java:182) at org.hibernate.cfg.configuration.buildsessionfactory(configuration.java:1176) at com.iss.lax.hibernate0831.hibernatesessionfactory.currentsession(hibernatesessionfactory.java:64) at com.iss.lax.db.dbfunction.loginfindout(dbfunction.java:31) at com.iss.lax.action.myaction.login(myaction.java:55) 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:597) at org.apache.struts.actions.dispatchaction.dispatchmethod(dispatchaction.java:274) at org.apache.struts.actions.dispatchaction.EXECute(dispatchaction.java:194) at org.apache.struts.action.requestprocessor.processactionperform(requestprocessor.java:419) at org.apache.struts.action.requestprocessor.process(requestprocessor.java:224) at org.apache.struts.action.actionservlet.process(actionservlet.java:1194) at org.apache.struts.action.actionservlet.dopost(actionservlet.java:432) at javax.servlet.http.httpservlet.service(httpservlet.java:710) at javax.servlet.http.httpservlet.service(httpservlet.java:803) at org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:269) at org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:188) at com.iss.lax.filter.urlfilter.dofilter(urlfilter.java:43) at org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:215) at org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:188) at org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:210) at org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:174) at org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:127) at org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:117) at org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:108) at org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:151) at org.apache.coyote.http11.http11processor.process(http11processor.java:870) at org.apache.coyote.http11.http11baseprotocol$http11connectionhandler.processconnection(http11baseprotocol.java:665) at org.apache.tomcat.util.net.pooltcpendpoint.processsocket(pooltcpendpoint.java:528) at org.apache.tomcat.util.net.leaderfollowerworkerthread.runit(leaderfollowerworkerthread.java:81) at org.apache.tomcat.util.threads.threadpool$controlrunnable.run(threadpool.java:685) at java.lang.thread.run(thread.java:619) caused by: org.hibernate.mappingexception: dialect does not support sequences at org.hibernate.dialect.dialect.getsequencenextvalstring(dialect.java:531) at org.hibernate.id.sequencegenerator.configure(sequencegenerator.java:65) at org.hibernate.id.identifiergeneratorfactory.create(identifiergeneratorfactory.java:93) ... 35 more 我的类 hibernatesessionfactory中的方法: public static session currentsession() throws hibernateexception { session session = (session) threadlocal.get(); if (session == null) { if (sessionfactory == null) { try { cfg.configure(config_file_location); sessionfactory = cfg.buildsessionfactory(); } catch (exception e) { system.err.println("%%%% error creating sessionfactory %%%%"); e.printstacktrace(); } } session = sessionfactory.opensession(); threadlocal.set(session); } return session; 类 dbfunction 中的 在数据库中,找出符合从登陆窗口输入的用户名和编号,并计算是否等于1 的方法如下: public int loginfindout (string empname,int empnumber) { session session1 = hibernatesessionfactory.currentsession(); transaction tx = session1.begintransaction(); query query1 = session1.createquery(hql1); query1.setstring("empname", empname); query1.setinteger("empnumber",empnumber); integer i = (integer) query1.uniqueresult(); tx.commit(); hibernatesessionfactory.closesession(); return i; } 类 myaction 中的登陆方法如下: public actionforward login(actionmapping mapping, actionform form, httpservletrequest request, httpservletresponse response) { myform myform = (myform) form; string empname = myform.getempname(); int empnumber = myform.getempnumber(); dbfunction db = new dbfunction (); string forward = null; if (db.loginfindout(empname ,empnumber)==1 ) { forward = "loginsuccessful"; } else { forward = "loginfailed"; } request.getsession().setattribute("empname", empname); return mapping.findforward(forward); } 请前辈们 指点 小弟一下~~ 无胜感激!!! | | |
|