getHibernateTemplate().get 查询返回null--求教!
求教一个问题:小弟用spring+hibernate整合开发 ,使用getHibernateTemplate进行查询时遇到问题,目前的情况是
getHibernateTemplate().save delelte update 这些都没有问题,但是
getHibernateTemplate().get(Book.class, "100");这个查询不报异常,但查询结果为null,数据库没问题,id为100的数据也存在,我将其改为
getHibernateTemplate().find("from Book as bk where bk.id='100'"); 查询没问题,能查询来,然后
我又用getHibernateTemplate().find("from Book as bk where bk.id=?","100");查询也是null
也就是涉及参数的查询都为null,没参数的没问题。不知道怎么回事?是否与缓存有关系呢?愿各位前辈不吝赐教!
------解决方案--------------------把引号去掉看看
get(Book.class,100)
------解决方案--------------------getHibernateTemplate().get(Book.class, new Long(100));
------解决方案--------------------String param = "100";
getHibernateTemplate().find("from Book as bk where bk.id=?", param);
------解决方案--------------------你用session来做 肯定没问题
------解决方案--------------------楼上的方法我也试过了,这个是不行的,getHibernateTemplate().find("from Book as bk where bk.id='100'"); 这样写可以 呵呵 奇怪啊
你这样肯定是可以的啊
你上面那样做不行是因为你的id是由自己分配的 而不是数据库的索引
你这样做的话 你的ID就有业务含义 这样做实在是不妥啊 ,绑定的太死啦 。。。。
------解决方案--------------------数据库字段名为id?