diff --git a/src/org/redkale/source/DataSqlSource.java b/src/org/redkale/source/DataSqlSource.java index 7a09bc904..9ca44ccb1 100644 --- a/src/org/redkale/source/DataSqlSource.java +++ b/src/org/redkale/source/DataSqlSource.java @@ -243,8 +243,13 @@ public abstract class DataSqlSource extends AbstractService implement @Override public int insert(@RpcCall(DataCallArrayAttribute.class) T... values) { if (values.length == 0) return 0; - final EntityInfo info = loadEntityInfo((Class) values[0].getClass()); checkEntity("insert", false, values); + final EntityInfo info = loadEntityInfo((Class) values[0].getClass()); + if (info.autouuid) { + for (T value : values) { + info.createPrimaryValue(value); + } + } if (info.isVirtualEntity()) return insertCache(info, values); return insertDB(info, values).whenComplete((rs, t) -> { if (t != null) { @@ -261,6 +266,11 @@ public abstract class DataSqlSource extends AbstractService implement CompletableFuture future = checkEntity("insert", true, values); if (future != null) return future; final EntityInfo info = loadEntityInfo((Class) values[0].getClass()); + if (info.autouuid) { + for (T value : values) { + info.createPrimaryValue(value); + } + } if (info.isVirtualEntity()) { return CompletableFuture.supplyAsync(() -> insertCache(info, values), getExecutor()); }