当前位置: 代码迷 >> Informix >> ,infromix数据库用hibernate无法获得list值,超级诡异。
  详细解决方案

,infromix数据库用hibernate无法获得list值,超级诡异。

热度:8218   发布时间:2013-02-26 00:00:00.0
求救求救,infromix数据库用hibernate无法获得list值,超级诡异。。。
这个问题郁闷三天了

问题就是hibernate不能查询到我要的数据,但是直接在数据库执行sql时可以查到,有没有童鞋遇到过,求救。。。

数据表结构如下:

create table a 
  (
  streamnumber serial not null ,
  number1 char(16),
  content char(140),
  primary key (streamnumber) 
  );
create index idx_a_1 on a 
  (content) using btree in table ;

数据库版本:
 IBM Informix Dynamic Server Version 10.00.FC7 IDS10

sql语句
select a.streamnumber , a.number1 , a.content from a where a.number1='13812345678' and a.content='2010122302164447';
(该sql语句其实就是hibernate的实际sql,拿到数据库执行没问题的)


hibernate方法:其中number1="13812345678" content为2010122302164447
public A getContent(String content,String number1) {
List<A> list = getHibernateTemplate().find(
"from A as item where item.number1=? and item.content=?",
new Object[] {number1,content});

logger.info("list size="+list.size());
logger.info(list.toString());

if(list==null ||list.size() <= 0 ){
return null;
}
else{
return list.get(0);
}
}
最后,hibernate中的log日志打印如下:
list size=0
[]



------解决方案--------------------------------------------------------
hibernate没用过。
运作sql时应该有个session和informix连接,问问DBA你的在运作SQL,看看对不对。
  相关解决方案