Hibernate中find()方法问题??这是为什么?
来源:互联网 发布:漫画软件推荐知乎 编辑:程序博客网 时间:2024/06/05 02:10
我在用find()方法查找的时候传递的是String类型,数据库字段类型roleId是varchar类型. 假如现在有
String id='0001';//实际上应该是从数据库中检索出id
find(' from GlobalRoleModel g where g.roleId='+id);
如果现在数据库中有N条记录 roleId字段在数据库存储的时候只有数字字符,没有其它任何字符.这样查询的时候没有任何错误.问题就出现在这里如果roleId字段有其他字符,就会抛出以下异常.如果此时把find()方法修改为
find(' from GlobalRoleModel g where g.roleId= ''+id+'''); 就不会抛出异常
org.springframework.dao.DataIntegrityViolationException: Hibernate operation: could not execute query; SQL [select globalrole0_.role_id as role1_, globalrole0_.role_name as role2_17_, globalrole0_.role_note as role3_17_ from Global_Role globalrole0_ where globalrole0_.role_id=0005]; ORA-01722: 无效数字
; nested exception is java.sql.SQLException: ORA-01722: 无效数字
Caused by:
java.sql.SQLException: ORA-01722: 无效数字
- Hibernate中find()方法问题??这是为什么?
- Thread类中sleep是为什么是静态方法
- java中interface中的方法为什么不能是static方法?
- 想想这是为什么?经典4问题
- Hibernate中为什么要重写equals()和hashCode()这两个方法
- 为什么 string.find()返回值是-1
- java中sleep方法为什么是静态的?
- Java中数组的clone方法为什么是浅复制
- 有关hibernate中update方法的问题
- hibernate之template find方法使用
- hibernate的gethibernatetemplate find条件查询方法
- CSDN,这是为什么?
- 这是为什么呢?
- 这是为什么呢?
- 这是为什么呢?
- 这是为什么?谢谢
- 这是为什么呢?
- 这是为什么呢?
- 经典C源程序100例
- 免费css布局和模板集合
- JavaScript实现表格排序
- EJB 倡导者: 使用 Java EE 实现松耦合的 SOA 应用程序
- Nokia 手机开发官方资料索引
- Hibernate中find()方法问题??这是为什么?
- Oracle端口映射
- Rails经常犯的错误一 - find(:first)
- Rails经常犯的错误二 - :include自定义的子集合
- [转]3User——社区化论坛的新方向
- 改变vs2005中代码字体的大小和颜色
- 在as和js里都可以使用的小方法整理
- ajax返回javascript给页面执行
- C++与C语言细节差异分析