浏览 5220 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-10-20
hibernate中如果采用Criteria 和 example查询oracle中对应的char列的时候必须要补全空格才行 比如oracle中char(6),那么对象的属性是“123 ”才会相等,而“123”就不等。但如果oracle中列采用varchar2则不会有这个问题。 单独采用hibernate还好办,我在中间加一层处理字符串即可。 最近学习seam的过程中发现seam中jpa也有这个问题,如果entity中定义为string,则jboss启动肯定会报错,说找不到某列相对应的varchar2(xx),但是我的数据库中列都是char型的。 由于数据库已经固定了,不可能改变数据库,请问谁有成熟的解决方案? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-11-07
请问怎么加一层字符串处理?如果对象中的有数据的成员是动态的
|
|
返回顶楼 | |
发表时间:2007-11-07
从前台传过来的条件为123时
让条件= “123空格空格空格”; 空格的数量是把总char长度减去条件的长度 |
|
返回顶楼 | |
发表时间:2007-11-07
不能改变数据库,但你可以改变列的数据类型啊!把char(x)改成varchar2(x)就可以了
|
|
返回顶楼 | |
发表时间:2007-11-08
抛出异常的爱 写道 从前台传过来的条件为123时
让条件= “123空格空格空格”; 空格的数量是把总char长度减去条件的长度 这种方法可以,就是稍微有点烦。 movingboy 写道 不能改变数据库,但你可以改变列的数据类型啊!把char(x)改成varchar2(x)就可以了
这个对遗留数据库肯定不行,并不是我们一个系统在用数据库啊。 |
|
返回顶楼 | |
发表时间:2007-11-08
放在pojo的get方法中去。。。
不爽的话还可以重构一下pojo的基类, 再不行就拦截form来作。。。 |
|
返回顶楼 | |