@@ -165,7 +165,7 @@ public class StringBasedJdbcQuery extends AbstractJdbcQuery {
|
||||
RelationalParameters.RelationalParameter parameter = queryMethod.getParameters().getParameter(p.getIndex());
|
||||
ResolvableType resolvableType = parameter.getResolvableType();
|
||||
Class<?> type = resolvableType.resolve();
|
||||
Assert.notNull(type, "@Query parameter could not be resolved!");
|
||||
Assert.notNull(type, "@Query parameter type could not be resolved!");
|
||||
|
||||
JdbcValue jdbcValue;
|
||||
if (value instanceof Iterable) {
|
||||
@@ -174,7 +174,9 @@ public class StringBasedJdbcQuery extends AbstractJdbcQuery {
|
||||
SQLType jdbcType = null;
|
||||
|
||||
Class<?> elementType = resolvableType.getGeneric(0).resolve();
|
||||
|
||||
Assert.notNull(elementType, "@Query Iterable parameter generic type could not be resolved!");
|
||||
|
||||
for (Object o : (Iterable<?>) value) {
|
||||
JdbcValue elementJdbcValue = converter.writeJdbcValue(o, elementType,
|
||||
JdbcUtil.targetSqlTypeFor(JdbcColumnTypes.INSTANCE.resolvePrimitiveType(elementType)));
|
||||
|
||||
@@ -179,6 +179,7 @@ public class JdbcRepositoryCustomConversionIntegrationTests {
|
||||
}
|
||||
|
||||
interface EntityWithStringyBigDecimalRepository extends CrudRepository<EntityWithStringyBigDecimal, CustomId> {
|
||||
|
||||
@Query("SELECT * FROM ENTITY_WITH_STRINGY_BIG_DECIMAL WHERE DIRECTION IN (:types)")
|
||||
List<EntityWithStringyBigDecimal> findByEnumTypeIn(List<Direction> types);
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ DROP TABLE OTHER_ENTITY CASCADE CONSTRAINTS PURGE;
|
||||
CREATE TABLE ENTITY_WITH_STRINGY_BIG_DECIMAL (
|
||||
ID NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY PRIMARY KEY,
|
||||
STRINGY_NUMBER DECIMAL(20,10),
|
||||
DIRECTION INTEGER
|
||||
DIRECTION NUMBER(1,0)
|
||||
);
|
||||
|
||||
CREATE TABLE OTHER_ENTITY (
|
||||
|
||||
Reference in New Issue
Block a user