- 论坛徽章:
- 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数据库上并没有出现此问题。 |
|