@@ -32,7 +32,6 @@ import org.springframework.data.mapping.PropertyPath;
|
||||
import org.springframework.data.mapping.PropertyReferenceException;
|
||||
import org.springframework.data.mapping.context.InvalidPersistentPropertyPath;
|
||||
import org.springframework.data.mapping.context.MappingContext;
|
||||
import org.springframework.data.relational.core.dialect.Dialect;
|
||||
import org.springframework.data.relational.core.mapping.RelationalPersistentEntity;
|
||||
import org.springframework.data.relational.core.mapping.RelationalPersistentProperty;
|
||||
import org.springframework.data.relational.core.query.CriteriaDefinition;
|
||||
@@ -66,7 +65,7 @@ public class QueryMapper {
|
||||
*
|
||||
* @param converter must not be {@literal null}.
|
||||
*/
|
||||
public QueryMapper( JdbcConverter converter) {
|
||||
public QueryMapper(JdbcConverter converter) {
|
||||
|
||||
Assert.notNull(converter, "JdbcConverter must not be null");
|
||||
|
||||
@@ -90,8 +89,7 @@ public class QueryMapper {
|
||||
SqlSort.validate(order);
|
||||
|
||||
OrderByField simpleOrderByField = createSimpleOrderByField(table, entity, order);
|
||||
OrderByField orderBy = simpleOrderByField
|
||||
.withNullHandling(order.getNullHandling());
|
||||
OrderByField orderBy = simpleOrderByField.withNullHandling(order.getNullHandling());
|
||||
mappedOrder.add(order.isAscending() ? orderBy.asc() : orderBy.desc());
|
||||
}
|
||||
|
||||
@@ -285,7 +283,7 @@ public class QueryMapper {
|
||||
SQLType sqlType;
|
||||
Comparator comparator = criteria.getComparator();
|
||||
|
||||
if (criteria.getValue()instanceof JdbcValue settableValue) {
|
||||
if (criteria.getValue() instanceof JdbcValue settableValue) {
|
||||
|
||||
mappedValue = convertValue(comparator, settableValue.getValue(), propertyField.getTypeHint());
|
||||
sqlType = getTypeHint(mappedValue, actualType.getType(), settableValue);
|
||||
@@ -424,7 +422,8 @@ public class QueryMapper {
|
||||
@Nullable
|
||||
private Object convertValue(Comparator comparator, @Nullable Object value, TypeInformation<?> typeHint) {
|
||||
|
||||
if ((Comparator.IN.equals(comparator) || Comparator.NOT_IN.equals(comparator)) && value instanceof Collection<?> collection && !collection.isEmpty()) {
|
||||
if ((Comparator.IN.equals(comparator) || Comparator.NOT_IN.equals(comparator))
|
||||
&& value instanceof Collection<?> collection && !collection.isEmpty()) {
|
||||
|
||||
Collection<Object> mapped = new ArrayList<>(collection.size());
|
||||
|
||||
|
||||
@@ -26,7 +26,6 @@ import org.springframework.data.jdbc.support.JdbcUtil;
|
||||
import org.springframework.data.mapping.PersistentProperty;
|
||||
import org.springframework.data.mapping.PersistentPropertyAccessor;
|
||||
import org.springframework.data.relational.core.conversion.IdValueSource;
|
||||
import org.springframework.data.relational.core.dialect.Dialect;
|
||||
import org.springframework.data.relational.core.mapping.RelationalMappingContext;
|
||||
import org.springframework.data.relational.core.mapping.RelationalPersistentEntity;
|
||||
import org.springframework.data.relational.core.mapping.RelationalPersistentProperty;
|
||||
@@ -47,7 +46,7 @@ import org.springframework.util.Assert;
|
||||
public class SqlParametersFactory {
|
||||
private final RelationalMappingContext context;
|
||||
private final JdbcConverter converter;
|
||||
|
||||
|
||||
/**
|
||||
* @since 3.1
|
||||
*/
|
||||
|
||||
@@ -25,7 +25,6 @@ import org.apache.ibatis.session.Configuration;
|
||||
import org.apache.ibatis.session.SqlSession;
|
||||
import org.apache.ibatis.session.SqlSessionFactory;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.mybatis.spring.SqlSessionFactoryBean;
|
||||
import org.mybatis.spring.SqlSessionTemplate;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -42,14 +41,9 @@ import org.springframework.data.jdbc.testing.EnabledOnDatabase;
|
||||
import org.springframework.data.jdbc.testing.IntegrationTest;
|
||||
import org.springframework.data.jdbc.testing.TestClass;
|
||||
import org.springframework.data.jdbc.testing.TestConfiguration;
|
||||
import org.springframework.data.relational.core.dialect.HsqlDbDialect;
|
||||
import org.springframework.data.relational.core.mapping.RelationalMappingContext;
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabase;
|
||||
import org.springframework.test.context.ActiveProfiles;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit.jupiter.SpringExtension;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* Tests the integration for customizing the namespace with Mybatis.
|
||||
|
||||
@@ -15,16 +15,12 @@
|
||||
*/
|
||||
package org.springframework.data.relational.core.conversion;
|
||||
|
||||
import java.util.function.Function;
|
||||
|
||||
import org.springframework.core.convert.ConversionService;
|
||||
import org.springframework.data.mapping.Parameter;
|
||||
import org.springframework.data.mapping.PersistentEntity;
|
||||
import org.springframework.data.mapping.PersistentPropertyAccessor;
|
||||
import org.springframework.data.mapping.PersistentPropertyPathAccessor;
|
||||
import org.springframework.data.mapping.context.MappingContext;
|
||||
import org.springframework.data.mapping.model.EntityInstantiators;
|
||||
import org.springframework.data.mapping.model.ParameterValueProvider;
|
||||
import org.springframework.data.projection.EntityProjection;
|
||||
import org.springframework.data.projection.EntityProjectionIntrospector;
|
||||
import org.springframework.data.relational.core.mapping.RelationalPersistentEntity;
|
||||
@@ -127,5 +123,4 @@ public interface RelationalConverter {
|
||||
@Nullable
|
||||
Object writeValue(@Nullable Object value, TypeInformation<?> type);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -53,7 +53,6 @@ public class BasicRelationalPersistentProperty extends AnnotationBasedPersistent
|
||||
private final boolean hasExplicitColumnName;
|
||||
private final @Nullable Expression columnNameExpression;
|
||||
private final Lazy<Optional<SqlIdentifier>> collectionIdColumnName;
|
||||
private final @Nullable Expression collectionIdColumnNameExpression;
|
||||
private final Lazy<SqlIdentifier> collectionKeyColumnName;
|
||||
private final @Nullable Expression collectionKeyColumnNameExpression;
|
||||
private final boolean isEmbedded;
|
||||
@@ -98,8 +97,6 @@ public class BasicRelationalPersistentProperty extends AnnotationBasedPersistent
|
||||
collectionIdColumnName = Lazy.of(() -> Optional.of(createSqlIdentifier(mappedCollection.idColumn())));
|
||||
}
|
||||
|
||||
this.collectionIdColumnNameExpression = detectExpression(mappedCollection.idColumn());
|
||||
|
||||
collectionKeyColumnName = Lazy.of(
|
||||
() -> StringUtils.hasText(mappedCollection.keyColumn()) ? createSqlIdentifier(mappedCollection.keyColumn())
|
||||
: createDerivedSqlIdentifier(namingStrategy.getKeyColumn(this)));
|
||||
@@ -107,7 +104,6 @@ public class BasicRelationalPersistentProperty extends AnnotationBasedPersistent
|
||||
this.collectionKeyColumnNameExpression = detectExpression(mappedCollection.keyColumn());
|
||||
} else {
|
||||
|
||||
this.collectionIdColumnNameExpression = null;
|
||||
this.collectionKeyColumnNameExpression = null;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user