Merge branch 'develop' into feature/Spring5

This commit is contained in:
2024-05-14 17:33:15 +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);
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);
// preparedField: 1 = sql_field_name, 2 = value_to_save, 3 = is_identity
@@ -1391,7 +1397,7 @@ public abstract class EntityBase implements Serializable, Cloneable, EntityInter
.findFirst()
.orElse(null);
if(identityData != null) {
if (identityData != null) {
containsIdentity = true;
identityFieldName = identityData.getFirst();
}

View File

@@ -28,6 +28,7 @@ import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.sql.Connection;
import java.util.*;
import java.util.function.Predicate;
import java.util.stream.Collectors;
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()
.filter(x -> x.getClazz().equals(clazz))
.map(EntityHierarchy::getFields)
.flatMap(Collection::stream)
.filter(filterCondition)
.collect(Collectors.toList());
}