免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1897 | 回复: 0
打印 上一主题 下一主题

ejb不能存取informix中长度为1的字段,请教! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-04 22:39 |只看该作者 |倒序浏览
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数据库上并没有出现此问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP