请教 hibernate 中 ORA-00904: 错误??

[复制链接]
查看11 | 回复6 | 2011-5-7 01:45:08 | 显示全部楼层 |阅读模式
问题如下:
1.hibernate中的模糊查询中,条件是: detachedCriteria.add(Restrictions.sqlRestriction("lower({alias}."+ReportJob.PROP_REPORT_JOB_NAME+&quot

like ? escape '/'","%"+reportJobname+"%" , Hibernate.STRING));
2.结果确报java.sql.SQLException: ORA-00904: "THIS_"."REPORTJOBNAME": invalid identifier

请问各位这是什么原因所导致的呢?



那么怎样解决这样的问题呢?


感谢你的帮助!
回复

使用道具 举报

千问 | 2011-5-7 01:45:08 | 显示全部楼层
ORA-00904 是oracle报出的错误,估计是invaild字段,查查你的数据库是否和你的object属性匹配.不干hibernate的事
回复

使用道具 举报

千问 | 2011-5-7 01:45:08 | 显示全部楼层
感谢你的回复与指教!
我已经检查了,数据库与Oject属性是匹配的 ,
如果我把detachedCriteria.add(Restrictions.sqlRestriction("lower({alias}."+ReportJob.PROP_REPORT_JOB_NAME+&quot

like ? escape '/'","%"+reportJobname+"%",Hibernate.STRING));
改为
detachedCriteria.add(Restrictions.ilike(ReportJob.PROP_REPORT_JOB_NAME,"%"+reportJobname+"%&quot

);
的话是可以查询的,但是这样是不能把包含百分号%和 下划线 _的内容查出的,还有那种方法可以把包含百分号%和 下划线 _的
内容模糊查出来呢?
那么这个ORA-00904 会是什么原因呢 ?
回复

使用道具 举报

千问 | 2011-5-7 01:45:08 | 显示全部楼层
escape '/'" 这样写'\'"
回复

使用道具 举报

千问 | 2011-5-7 01:45:08 | 显示全部楼层
感谢各位的热心帮助与指教!
是sql语句中的条件reportJobName字段与数据库中的字段不相符所致的。
回复

使用道具 举报

千问 | 2011-5-7 01:45:08 | 显示全部楼层
最初由 zhztsu 发布
[B]感谢各位的热心帮助与指教!
是sql语句中的条件reportJobName字段与数据库中的字段不相符所致的。 [/B]

不够细心啊


回复

使用道具 举报

千问 | 2011-5-7 01:45:08 | 显示全部楼层
这种错误可以直接上网查,ORA错误都是ORACLE报出来的,描述就是列名错误
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行