model对象save()问题
紫罗兰 发布于22月前 5答/670阅

我的原始需求是:迁移数据后续的数据插入


实现过程中遇到的问题:我在使用Basemodel实现model对象的insert插入数据发现如果针对迁移数据ID不是int类型的数据,在插入时会因为baseModel里面的save()的强转int类型报错,这个后续的版本里面有说明这个问题吗,如果我自己改动转化格式,对后续有没有影响呢


我觉得这个问题的原因是:
/**
* 淇濆瓨
*/
@Override
public boolean save() {
String pk = null;
if (xx.isOracle()) {
Table table = TableMapping.me().getTable(getClass());
pk = table.getPrimaryKey()[0];
// 搴忓垪榛樿鍊�
if (this.get(pk) == null) {
this.set(pk, EovaConst.SEQ_ + table.getName() + ".nextval");
}
}
boolean isSave = super.save();
if (xx.isOracle()) {
// 鏂板鎴愬姛鍚� 涓婚敭 BigDecimal->Integer
this.set(pk, Integer.valueOf(this.get(pk).toString())); //这里强转
}
return isSave;
}





[沙发] Jieven
@紫罗兰 可以手工临时解决一下, 你用的eova 啥版本?
[地板] 紫罗兰
@Jieven eova-1.6.0    jfinal-3.4.jar   的版本,后面有解决这个问题吗
[地毯] Jieven
@紫罗兰 this.set(pk, this.get(pk)); 直接不转了试试.
[4楼] 紫罗兰
@Jieven 恩,我现在就是这样搞的,就是问后续有没有影响
[5楼] Jieven
@紫罗兰 后续没影响, 我也改成这样了.
提交评论
嘿,我来帮你!