登录验证总调不通,我用的是struts+hibernate!
调试错误信息如下;
begin tx
net.sf.hibernate.JDBCException: Could not execute query
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1515)
at net.sf.hibernate.impl.QueryImpl.list(QueryImpl.java:39)
at ems.emsbean.login.LoginAction.execute(LoginAction.java:53)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6981)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3892)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2766)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
Caused by: java.sql.SQLException: ORA-00936: 缺少表达式 at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:305)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:272)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:626)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:182)
at oracle.jdbc.driver.T4CPreparedStatement.execute_for_describe(T4CPreparedStatement.java:500)
at oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:942)
at oracle.jdbc.driver.T4CPreparedStatement.execute_maybe_describe(T4CPreparedStatement.java:532)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1037)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2905)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:2946)
at com.mchange.v2.c3p0.impl.C3P0PreparedStatement.executeQuery(C3P0PreparedStatement.java:188)
at com.mchange.v2.c3p0.impl.C3P0PooledConnection$2.executeQuery(C3P0PooledConnection.java:473)
at net.sf.hibernate.impl.BatcherImpl.getResultSet(BatcherImpl.java:87)
at net.sf.hibernate.loader.Loader.getResultSet(Loader.java:795)
at net.sf.hibernate.loader.Loader.doQuery(Loader.java:189)
at net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:133)
at net.sf.hibernate.loader.Loader.doList(Loader.java:950)
at net.sf.hibernate.loader.Loader.list(Loader.java:941)
at net.sf.hibernate.hql.QueryTranslator.list(QueryTranslator.java:834)
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1512)
... 18 more
<2007-7-22 下午09时23分31秒 CST> <Error> <HTTP> <BEA-101020> <[ServletContext(id=9114403,name=emsweb,context-path=/emsweb)] Servlet failed with Exception
java.lang.NullPointerException
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:374)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:231)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6981)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3892)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2766)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
> 附
User.hbm.xml文件
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-mapping
PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd"><hibernate-mapping>
<class name="ems.emsbean.hibernate.User" table="user">
<id name="id" type="integer">
<column name="id" />
<generator class="native"/>
</id> <property name="name" type="string">
<column name="name" />
</property> <property name="engine_type" type="string">
<column name="engine_type" />
</property> <property name="password" type="string">
<column name="password" />
</property>
</class></hibernate-mapping>
user.java文件
package ems.emsbean.hibernate;public class User implements java.io.Serializable{
public User() {
}
//定义用户ID 分别对应数据表中相应的字段
private Integer id;
//定义用户名
private String name;
//定义用户类型
private String engine_type;
//定义用户密码
private String password;
public Integer getId(){
return id;
}
public void setId(Integer id){
this.id=id;
}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
} public String getEngine_type(){
return engine_type;
}
public void setEngine_type(String engine_type){
this.engine_type=engine_type;
} public String getPassword(){
return password;
}
public void setPassword(String password){
this.password=password;
}}
调试错误信息如下;
begin tx
net.sf.hibernate.JDBCException: Could not execute query
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1515)
at net.sf.hibernate.impl.QueryImpl.list(QueryImpl.java:39)
at ems.emsbean.login.LoginAction.execute(LoginAction.java:53)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6981)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3892)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2766)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
Caused by: java.sql.SQLException: ORA-00936: 缺少表达式 at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:305)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:272)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:626)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:182)
at oracle.jdbc.driver.T4CPreparedStatement.execute_for_describe(T4CPreparedStatement.java:500)
at oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:942)
at oracle.jdbc.driver.T4CPreparedStatement.execute_maybe_describe(T4CPreparedStatement.java:532)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1037)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2905)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:2946)
at com.mchange.v2.c3p0.impl.C3P0PreparedStatement.executeQuery(C3P0PreparedStatement.java:188)
at com.mchange.v2.c3p0.impl.C3P0PooledConnection$2.executeQuery(C3P0PooledConnection.java:473)
at net.sf.hibernate.impl.BatcherImpl.getResultSet(BatcherImpl.java:87)
at net.sf.hibernate.loader.Loader.getResultSet(Loader.java:795)
at net.sf.hibernate.loader.Loader.doQuery(Loader.java:189)
at net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:133)
at net.sf.hibernate.loader.Loader.doList(Loader.java:950)
at net.sf.hibernate.loader.Loader.list(Loader.java:941)
at net.sf.hibernate.hql.QueryTranslator.list(QueryTranslator.java:834)
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1512)
... 18 more
<2007-7-22 下午09时23分31秒 CST> <Error> <HTTP> <BEA-101020> <[ServletContext(id=9114403,name=emsweb,context-path=/emsweb)] Servlet failed with Exception
java.lang.NullPointerException
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:374)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:231)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6981)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3892)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2766)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
> 附
User.hbm.xml文件
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-mapping
PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd"><hibernate-mapping>
<class name="ems.emsbean.hibernate.User" table="user">
<id name="id" type="integer">
<column name="id" />
<generator class="native"/>
</id> <property name="name" type="string">
<column name="name" />
</property> <property name="engine_type" type="string">
<column name="engine_type" />
</property> <property name="password" type="string">
<column name="password" />
</property>
</class></hibernate-mapping>
user.java文件
package ems.emsbean.hibernate;public class User implements java.io.Serializable{
public User() {
}
//定义用户ID 分别对应数据表中相应的字段
private Integer id;
//定义用户名
private String name;
//定义用户类型
private String engine_type;
//定义用户密码
private String password;
public Integer getId(){
return id;
}
public void setId(Integer id){
this.id=id;
}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
} public String getEngine_type(){
return engine_type;
}
public void setEngine_type(String engine_type){
this.engine_type=engine_type;
} public String getPassword(){
return password;
}
public void setPassword(String password){
this.password=password;
}}
解决方案 »
- java技术问题
- 一个非常郁闷的SSH开发问题!!!!
- 大伙看一个jsp查询mysql乱码问题
- 求教! 把文件流保存为JPG时,出现Not a JPEG file 错误。
- 送分啦~~快点。。呵呵!!~
- 菜问题,关于Servlet的。
- 请问谁有JRUN的正式版?
- 当我请求http://localhost:8080/cbserver/orderForm的时候,能不能给解释一下它的处理过程??
- 我安装好了JBuilder8,但是它自带的例子老是运行不起来,郁闷 !!!!求救 !!
- Tomcat 4.0.1+JDK1.4+Windows+Mysql配置好了怎么检测可以连接数据库?????谢谢了
- jsp+resin+ms SQL2000,查询超时
- javascript如何获得当前元素的前一个元素(在线等)
LoginAction.java
package ems.emsbean.login;import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.Action;import ems.emsbean.hibernate.User;
import net.sf.hibernate.HibernateException;
import net.sf.hibernate.Query;
import net.sf.hibernate.Session;
import ems.emsbean.login.LoginActionForm;
import ems.emsbean.hibernate.HibernateUtil;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.action.ActionMessage;
public class LoginAction
extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {
HttpSession session = request.getSession();
Session s = HibernateUtil.currentSession();
LoginActionForm loginActionForm = (LoginActionForm) form; String utype =loginActionForm.getUtype();
String uname =loginActionForm.getUname();
String pwd =loginActionForm.getPwd();
String[] userlist = new String[2];
int loginutype = Integer.parseInt(utype); userlist[0] = uname;
userlist[1] = pwd; try {
HibernateUtil.beginTransaction();
String str = new String();
switch (loginutype) {
case 1:
str = " from user where user.name=:stuName and user.password=:stuPassword";
Query query = s.createQuery(str);
// System.out.println(username + " " + password);
query.setString("stuName", uname);
query.setString("stuPassword", pwd);
if (query.list().size() > 0) {
session.setAttribute("id", ((User) query.list().get(0)).getId());
s.close();
return mapping.findForward("home");
} else
break;
case 2:
str = " from user where user.name = '" + uname
+ "' and user.password ='" + pwd + "'";
if (s.createQuery(str).list().size() > 0) {
// session.setAttribute("teaid", ((Teacher) s.createQuery(str)
// .list().get(0)).getId());
s.close();
return mapping.findForward("admin");
} else
break;
default:
break;
}
} catch (HibernateException e) {
e.printStackTrace();
} finally {
try {
s.close();
}
catch (HibernateException ex) {
}
} ActionMessages errors = new ActionMessages();
errors.add("login error", new ActionMessage("login.error"));
saveErrors(request, errors);
return mapping.getInputForward(); }
}
net.sf.hibernate.JDBCException: Could not execute query
还有
Caused by: java.sql.SQLException: ORA-00936: 缺少表达式
但不知道怎么解决~~
--------------------------------
好久没用过hibernate了,不过,这个HQL语句"from user"肯定不对了,hibernate里的from肯定是个实体类了,不是你数据库里的表名,应该为"from User..."
begin tx
net.sf.hibernate.JDBCException: Could not execute query
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1515)
at net.sf.hibernate.impl.QueryImpl.list(QueryImpl.java:39)
at ems.emsbean.login.LoginAction.execute(LoginAction.java:53)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6981)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3892)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2766)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
Caused by: java.sql.SQLException: ORA-00903: 表名无效 at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:305)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:272)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:626)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:182)
at oracle.jdbc.driver.T4CPreparedStatement.execute_for_describe(T4CPreparedStatement.java:500)
at oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:942)
at oracle.jdbc.driver.T4CPreparedStatement.execute_maybe_describe(T4CPreparedStatement.java:532)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1037)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2905)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:2946)
at com.mchange.v2.c3p0.impl.C3P0PreparedStatement.executeQuery(C3P0PreparedStatement.java:188)
at com.mchange.v2.c3p0.impl.C3P0PooledConnection$2.executeQuery(C3P0PooledConnection.java:473)
at net.sf.hibernate.impl.BatcherImpl.getResultSet(BatcherImpl.java:87)
at net.sf.hibernate.loader.Loader.getResultSet(Loader.java:795)
at net.sf.hibernate.loader.Loader.doQuery(Loader.java:189)
at net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:133)
at net.sf.hibernate.loader.Loader.doList(Loader.java:950)
at net.sf.hibernate.loader.Loader.list(Loader.java:941)
at net.sf.hibernate.hql.QueryTranslator.list(QueryTranslator.java:834)
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1512)
... 18 more
<2007-7-23 上午09时32分07秒 CST> <Error> <HTTP> <BEA-101020> <[ServletContext(id=5868125,name=emsweb,context-path=/emsweb)] Servlet failed with Exception
java.lang.NullPointerException
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:374)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:231)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6981)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3892)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2766)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
>
case 1:
str = " from User where user.name=:stuName and user.password=:stuPassword";
Query query = s.createQuery(str);
// System.out.println(username + " " + password);
query.setString("stuName", uname);
query.setString("stuPassword", pwd);
if (query.list().size() > 0) {
session.setAttribute("id", ((User) query.list().get(0)).getId());
s.close();
return mapping.findForward("home");
} else
break;
case 2:
Query query = s.createQuery(str);
// System.out.println(username + " " + password);
// query.setString("stuName", uname);
// query.setString("stuPassword", pwd);
if (query.list().size() > 0) {
// session.setAttribute("id", ((User) query.list().get(0)).getId());
s.close();
return mapping.findForward("home");
} else
break;
--------------------------------------------条件错了,按照你的意思,你在 "User" 后面再加一个 "user",即别名,试试:
"from User as user where user.name=:stuName and user.password=:stuPassword"
或者
"from User user where user.name=:stuName and user.password=:stuPassword"
Query query = s.createQuery(str);
// System.out.println(username + " " + password);
// query.setString("stuName", uname);
// query.setString("stuPassword", pwd);
if (query.list().size() > 0) {
// session.setAttribute("id", ((User) query.list().get(0)).getId());
s.close();
return mapping.findForward("home");
} else
break;
str = " from User where user.name=:stuName and user.password=:stuPassword";
Query query = s.createQuery(str);
两句之间!执行了后一句问题就出现了~~~高手帮分析下哎
如:from dba.User
这个User是实体类 还是数据库里的表名?
2、User.hbm.xml配置出错
3、那个user/User 是否为oracle的关键字,或是系统表
快来看看,腾迅为庆祝腾讯QQ八周年,现在开放六位 QQ 号码免费申请,数量有限,送完即止,加油吧
程序中的 str = "from User" 中的"User"是 实体类User.hbm.xml 中的 table="user" ,这个"user" 才是数据库中实实在在的表
from 创建者.User ...试试
如:from dba.User
我的DBA是yx 错误如下 看来不是那个问题呵呵
net.sf.hibernate.QueryException: undefined alias: yx [ from yx.user as user where user.name=:stuName and user.password=:stuPassword]
你用的什么数据库啊 ?
在这,这个User是那个实体类,要写 也应该写在User.hbm.xml中,<class name="ems.emsbean.hibernate.User" table="yx.user">
-----------------
("from User")查询所有的记录,这样写都出错,最大的可能就是 配置出问题了
条件查询的时候,要用到别名的,就是上面我说的那样
不过问题又变成了Caused by: java.sql.SQLException: ORA-00904: 无效列名
看来我真是太菜了