Q: 当Oracle数据库中定义的字段为CHAR(20)的时候,假如插入一条为AA的记录。 实际上数据库中存储的为"AA"+18个空格,用Hibernate取出,自然也取出 "AA"+18个空格,请问在Hibernate中有没有什么设置可以自动将空格Trim掉,而不用将字段改成VARCHAR2型或自己手动Tirm。
Solution 1: in PO like follows:
setABC(string abc); {
this.abc = abc.trim();;
}
Problem:setXXX的时候做一个trim,结果在transcation.commit时hibernate发现key已经被改变了,于是抛出Exception出来,不知道还有什么其它的方法
Summary:
对于Char的应用应该限制在长度固定的字段, 你插入的刚好是你所定义的长度。其他情况我们可以选择VARCHAR2。