diff --git a/src/org/redkale/source/EntityCache.java b/src/org/redkale/source/EntityCache.java index b55f96d27..7e5d354cd 100644 --- a/src/org/redkale/source/EntityCache.java +++ b/src/org/redkale/source/EntityCache.java @@ -638,6 +638,12 @@ public final class EntityCache { } else if (ft == AtomicLong.class) { newval = new AtomicLong(numb.longValue()); } + } else { + if (ft == AtomicInteger.class && newval != null && newval.getClass() != AtomicInteger.class) { + newval = new AtomicInteger(((Number) newval).intValue()); + } else if (ft == AtomicLong.class && newval != null && newval.getClass() != AtomicLong.class) { + newval = new AtomicLong(((Number) newval).longValue()); + } } attr.set(rs, (V) newval); return rs;