Finish Hotfix-58

This commit is contained in:
2024-05-14 16:44:06 +02:00
2 changed files with 11 additions and 3 deletions

View File

@@ -1377,7 +1377,13 @@ public abstract class EntityBase implements Serializable, Cloneable, EntityInter
UniqueKeyRules.chkConstraint(connection, this); UniqueKeyRules.chkConstraint(connection, this);
List<EntityHierarchy.Field> fields = getEntityHolder() List<EntityHierarchy.Field> fields = getEntityHolder()
.getEntitySqlFields(this.getClass()); .getEntityFields(this.getClass(), field ->
field.isObjectStorage() ||
field.isSqlField() ||
field.isClob() ||
field.isBlob() ||
field.isIdentity()
);
final List<kotlin.Triple<String, Object, Boolean>> preparedFieldsToQuery = prepareFieldsToQuery(fields); final List<kotlin.Triple<String, Object, Boolean>> preparedFieldsToQuery = prepareFieldsToQuery(fields);
// preparedField: 1 = sql_field_name, 2 = value_to_save, 3 = is_identity // preparedField: 1 = sql_field_name, 2 = value_to_save, 3 = is_identity

View File

@@ -28,6 +28,7 @@ import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type; import java.lang.reflect.Type;
import java.sql.Connection; import java.sql.Connection;
import java.util.*; import java.util.*;
import java.util.function.Predicate;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static org.reflections.scanners.Scanners.SubTypes; import static org.reflections.scanners.Scanners.SubTypes;
@@ -248,11 +249,12 @@ public class EntityPropertyHolder {
} }
public List<EntityHierarchy.Field> getEntityFields(Class<? extends EntityBase> clazz) { public List<EntityHierarchy.Field> getEntityFields(Class<? extends EntityBase> clazz, Predicate<EntityHierarchy.Field> filterCondition) {
return this.entityHierarchyMap.stream() return this.entityHierarchyMap.stream()
.filter(x -> x.getClazz().equals(clazz)) .filter(x -> x.getClazz().equals(clazz))
.map(EntityHierarchy::getFields) .map(EntityHierarchy::getFields)
.flatMap(Collection::stream) .flatMap(Collection::stream)
.filter(filterCondition)
.collect(Collectors.toList()); .collect(Collectors.toList());
} }