日期:2014-05-17  浏览次数:21388 次

有人遇到过这个问题吗?如何解决呢?
org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: could not execute query; uncategorized SQLException for SQL [select userinfo0_.id as id0_, userinfo0_.name as name0_, userinfo0_.password as password0_, userinfo0_.datetim as datetim0_, userinfo0_.uname as uname0_, userinfo0_.visible as visible0_ from userinfo userinfo0_ where userinfo0_.id=?]; SQL state [S1009]; error code [0]; Invalid value for getInt() 
------解决方案--------------------
没人回答吗???
------解决方案--------------------
userinfo0_.id=?
你给那个?赋值了么?
------解决方案--------------------
恩 我是这么写的

String hql = "from UserInfo user where user.name=:name and user.password=:password";

String [] paramNames = new String[]{"name","password"};

Object [] values = new Object[]{name,password};

user = (UserInfo)hibernateTemplate.findByNamedPar(hql,paramNames,values).get(0);
------解决方案--------------------
不对不对 弄错了 是这样的 
String hql = "from UserInfo u where u.id=:id" ;

user = (UserInfo) hibernateTemplate.findByNamedParam(hql, "id", id);
------解决方案--------------------
没人啦?? 帮帮忙啊………… 
------解决方案--------------------
这个东西很简单 因为你创建数据库的之后可能更改了这个表外键的属性 假如以前是int型 你后来改成String型 而下面有个 看到基数这一列了吗 你以前是int类型 基数就是1 改成string类型的时候 他的外键关系里面的基数你没有改 怎么改 你就把以前这个索引删除 从新把这个string类型的字段设置为外键 就OK了
------解决方案--------------------
这个问题你还不明白 不会改  加我Q:973594689  备注:java软件爱好者
------解决方案--------------------
创建表之后如果是硬要更改表结构(里面包括更改字段类型) 如果是外键要特别注意 外键所以的基数本来应该跟着变的 但是你忘记更改 解决办法:把原来这个外键索引删除,把更改后的字段重新设置为外键,那么他的基数会跟着改变