我也遇到这个问题,是在没办法。
cmp他不会加trim()也没有用like.
如用类型为char(20)的列作主键,findByPrimaryKey里面会用到
这种查询
select ... from mytable t1 where t1.id = ?
|
如果用来查询的参数pk长度是18个字母
结果是javax.ejb.ObjectNotFound
这是CMP Container生成的代码里面的。
直接用preparedStatement也是一样
select t1.name from mytable t1 where t1.id = ?
|
ps.setString(1, param);
ResultSet里面没有记录
而使用
"select t1.name from mytable t1 where t1.id = '" + param + "'"
|
则可以。
但是CMP怎么办哪?
我的数据库是从db2移植过去的(到oracle)。用wsad开发。
生成oracle的deploy code
结果所有的原来是char类型的字段的表都查寻没有结果
这算是jdbc的问题还是wsad的问题呢?