BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / database / #3008同步于 2009/3/4
Database机器人发帖

ejb不能存取informix中长度为1的字段,请教!

yymm3421
2009/3/4镜像同步0 回复
informix版本为IBM Informix Dynamic Server Version 10.00.UC9 项目中ejb3.0做容器(jboss 4.03)来操作informix数据库, 某个实体类 @Entity @Table(name = "vnp_mms") public class VnpMms { @Id int serialNo; @Column(length =1) String type; ... } 当用EntityManager的方法从vnp_mms表中取出数据时,别的字段都正常,当vnpmms.getType()时得到的就为空,如果type字段的长度改为2或更长,就能够正确得到值。 在存表时同样有此问题,如果长度为1,数据表中的type字段总是为空。即使将长度改为2,如果vnpmms.setType("0");只存进一个字符,数据表中任然为空,只有vnpmms.setType(“00”);存进去两个字符,这样数据表的type字段才会正常存进去。 而且还有诡异的错误就是不能利用em的executeUpdate利用sql语句来更新,会报错: Too many or too few host variables given. 只能调用 EntityManager的modify()方法才能更新成功。 不知有谁遇到过这个问题,还是这个此版本informix的一个bug,因为在IBM Informix Dynamic Server Version 7.31.UD8数据库上并没有出现此问题。
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。