Caused by: java.sql.SQLException: [Ingres][Ingres ODBC Driver][Ingres]line 1, Syntax error on 'student0_'. The correct syntax is:
SELECT [ALL|DISTINCT] target_list
FROM table(s)
[WHERE search_cond]
[GROUP BY col(s)]
[HAVING search_cond]
[UNION subselect]
[ORDER BY col(s)]从这里看出是语法错误!
仔细看看你写的sql语句
SELECT [ALL|DISTINCT] target_list
FROM table(s)
[WHERE search_cond]
[GROUP BY col(s)]
[HAVING search_cond]
[UNION subselect]
[ORDER BY col(s)]从这里看出是语法错误!
仔细看看你写的sql语句
解决方案 »
- 使用jpa出现的持久化级联问题[跪求解答]
- IO与SWING结合的问题
- 请教个首页的问题
- 执行xml载入时出现问题
- 如何让地址栏保持不变,在线等,很着急,请高手解决一下,只有这些分了,以后再补
- 字符串判断是否在<a></a>里面
- struts:提交到某个action后,如果点刷新还可一再提交一次,请问如何避免啊(我已经return mapping.findForward("...")了)
- 关于javaweb工程部署的问题
- websphere是什么,weblogic呢?
- 小白求教。eclipse如何导入一个只有html和css的项目?
- 关于webservice服务的解决方案
- Exception不知道什么原因
List Objects = session.find("from Student as s");
这个出错,怎么解决啊急死了
高手救命!
把hibernate配置文件中的hibernate.show_sql属性设置为true这样把SQL语句打出来看看!
初步估计是session.find("from Student as s");
有些数据库表取别名好像不支持 as 你也可以改为session.find("from Student s");
试试!
from Student 改下表名大小写试试,as s 去掉好了
Ingres 数据库, 是支持as s 这样的写法的!
试过把as s去掉, 还是不成
求助ing
高手们帮我看看是不是程序,或配置上有问题
谢谢各位帮我支持一下,千万要解决啊
改成
List Objects = session.createQuery("from Student ").list();
试试!!!
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse - Hibernate Tools
-->
<hibernate-mapping>
<class name="com.telstar.wsdf.bo.WsdfRbacUser" table="WSDF_RBAC_USER" schema="WSDF">
<id name="userId" type="string">
<column name="USER_ID" length="20" />
<generator class="assigned" />
</id>
<property name="userPassword" type="string">
<column name="USER_PASSWORD" length="20" />
</property>
<property name="userName" type="string">
<column name="USER_NAME" length="50" />
</property>
<!-- <property name="orgId" type="string">
<column name="ORG_ID" length="10" />
</property>-->
<property name="registerDate" type="date">
<column name="REGISTER_DATE" length="7" />
</property>
<property name="accountsStatus" type="string">
<column name="ACCOUNTS_STATUS" length="1" />
</property>
<property name="re" type="string">
<column name="REMARK" length="100" />
</property>
<one-to-one
name="userextend"
class="com.telstar.wsdf.bo.WsdfRbacUserExtend"
cascade="all"
outer-join="false"
lazy="false"/>
<many-to-one name="department"
class="com.telstar.wsdf.bo.WsdfRbacOrganization"
cascade="none"
column="org_id"
fetch="join"
lazy="false"/>
<set name="userconn" lazy="false" inverse="true" cascade="all" table="wsdf_rbac_user_conn">
<key column="user_id"/>
<one-to-many class="com.telstar.wsdf.bo.WsdfRbacUserConn"/>
</set>
<set name="role" table="wsdf.wsdf_rbac_user_role" lazy="false" inverse="false" cascade="none" fetch="select">
<key column="user_id"/>
<many-to-many column="role_id"
class="com.telstar.wsdf.bo.WsdfRbacRole"/>
</set>
</class>
<query name="temp">
<![CDATA[from com.telstar.wsdf.bo.WsdfRbacUser as user where user.userName= :a
]]>
</query>
</hibernate-mapping>
配置文件中的查询可以改成自己的sql语句。<query name="temp">
<![CDATA[from com.telstar.wsdf.bo.WsdfRbacUser(hibernate生成的pojo配置文件) as user where user.userName= :a
]]>
</query>
//测试 hql查询
public List getHQL(){
//第一段:基本于最基本的HQL
String sql = "from com.telstar.wsdf.bo.WsdfRbacUser as user where user.userName='liu'";
//String sql = "from com.telstar.wsdf.bo.WsdfRbacUser as user where TO_CHAR(user.registerDate,'yyyy-mm-dd')='2009-09-09'";
//String sql = "from com.telstar.wsdf.bo.WsdfRbacUser as user where TO_CHAR(user.registerDate,'yyyy-mm-dd')='2009-09-09' and user.userName like 'liu%'";
//String sql = "from com.telstar.wsdf.bo.WsdfRbacUser as user where user.userName like '%liu%'";
System.out.println("sql=================="+sql);
Query query = this.getSession().createQuery(sql);
List userList = query.list();
return userList;
//第二段 基于Criteria
//Criteria cir = this.getSession().createCriteria(WsdfRbacUser.class);
//cir.add(Restrictions.between("registerDate",new java.util.Date("2001-09-09"),new java.util.Date("2009-09-09")));
//cir.add(Expression.eq("userName","liu"));
//cir.add(Expression.like("userName","%liu%"));
////cir.add(Expression.eq("registerDate",,new java.util.Date("2001-09-09"),new java.util.Date("2009-09-09")));
////cir.add(Expression.between("registerDate",new java.util.Date("2001-09-09"),new java.util.Date("2009-09-09")));
//return cir.list();
//第三段 基本于配制文件
// Query query = this.getSession().getNamedQuery("temp");//temp是在配制文件(WsdfRbacUser.hbm.xml)中配制的name值
// query.setString("a","liu");//a是在配制文件中WsdfRbacUser.hbm.xml配制的变量名(即冒号后面的名),liu是要查询的值
// List userList = query.list();
// return userList;
}
其实我是想用 formula 属性 去映射dao 属性,
可是总是上面的错误,
真不知道他的sql语句是怎么生成的,
明明是表'student',可Hibernate生成的sql 却要查'student0_'表,
不明白,
请高手指教是不是我的formula用错了???