环境 hibernate3,struts2,spring2.0表 staff(
`id` int(11) NOT NULL AUTO_INCREMENT,
`contractterm` varchar(10) DEFAULT NULL,
  PRIMARY KEY (`id`)
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=gbk;做设计的时候没想到contractterm这个字段会在后来做判断.现在发现用hibernate作出的判断select到的数和直接在mysql中搜索到的值结果不一样.
请问除了修改contractterm类型外,还有什么好的方法可以让hibernate做比较吗?例如
contractterm
3select * from staff where contractterm <=3
thanks by phoenix

解决方案 »

  1.   

    select * from staff where contractterm+0 <=3
      

  2.   

    如果hql写成select * from Staff where contractterm+0 <=?会报错Unknown column 'contractterm0' in 'where clause'在mysql中使用contractterm+0是没问题的但是在java中,拼出来的sql,怎么去解决这个问题.
    如果hql写成select * from Staff where contractterm+? <=?那传进去0会报转型异常,传"0"就正常了.尝试成功.谢谢#1楼