请教:Hibernate与中文字段名

SuperMicrosoft 2006-03-29 02:57:48
初使Hibernate,在数据库检索操作时,发生如下错误
org.springframework.orm.hibernate3.HibernateQueryException: unexpected char: 0x89 [from class.Table1 where 年度=? ];
采用Oracle
class为中心库名称
Table为数据表名称
年度为字段名(客户要求字段名称要采用中文、日文,除英文外的多种字符)
谢谢!

...全文
215 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
SuperMicrosoft 2006-03-29
  • 打赏
  • 举报
回复
我用的就是HQL呀
hql = "from class.Table1 where 年度=? ";
List userList = this.getHibernateTemplate().find(hql, (Object)year);
这样不对么??
zeq258 2006-03-29
  • 打赏
  • 举报
回复
MagicianLiu(魔术师·刘) ( ) 信誉:100 2006-03-29 15:33:00 得分: 0


你用的是普通SQL查询??你写在HQL里吗?怎么不用HQL查询?
如果是字段为中文名,可以在Hibernate配置文件中映射成英文名


-----------------------
很好的一个方法,
映射以后,
你的 hql 中是英文名,
当hibernate把它翻译为 sql 的时候,对应的表就是映射文件中的中文名。
SuperMicrosoft 2006-03-29
  • 打赏
  • 举报
回复
我用这个还是不行!晕,但是如果把检索条件删掉,就正常了!为什么??
<property name="year" column="年度" type="java.lang.String"/> //类型自己根据数据库设置.
Query query = session.createQuery("from Table1 t where t.year = ?");
query.setString(0,值);
SpHib 2006-03-29
  • 打赏
  • 举报
回复
package org.hibernate;
SuperMicrosoft 2006-03-29
  • 打赏
  • 举报
回复
在Table1.hbm.xml中我已经做了设置
<property name="year" column="年度" type="java.lang.String"/>
但是这种调用方式不可以么
List userList = this.getHibernateTemplate().find(hql, (Object)year);
if (userList.size() > 0) {
return true;
}
如果改成楼上说的那样,我其它配置用不用改呢?
还有Query这个东西属于哪个类包呀!嘿嘿!不好意思,刚刚入道,什么都不会!谢谢!
MagicianLiu 2006-03-29
  • 打赏
  • 举报
回复
把Table1映射成类
在Table1.hbm.xml中
<property name="year" column="年度" type="java.lang.String"/> //类型自己根据数据库设置.

Query query = session.createQuery("from Table1 t where t.year = ?");
query.setString(0,值);

SuperMicrosoft 2006-03-29
  • 打赏
  • 举报
回复
大哥:能不能讲的清楚一点,我不明白呀!
hql = "from class.Table1 where 年度=? ";
List userList = this.getHibernateTemplate().find(hql, (Object)year);

是不是这么调用呢?
再次感谢!
MagicianLiu 2006-03-29
  • 打赏
  • 举报
回复
你用的是普通SQL查询??你写在HQL里吗?怎么不用HQL查询?
如果是字段为中文名,可以在Hibernate配置文件中映射成英文名
huxinsheng168 2006-03-29
  • 打赏
  • 举报
回复
完全是天文.........
你也给点有用的错误出来嘛...........

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧