Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/support_27' into support_23
Browse files Browse the repository at this point in the history
# Conflicts:
#	build.gradle
  • Loading branch information
joutvhu committed Feb 16, 2023
2 parents 0bb8e9e + 3f38256 commit d9f7143
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 15 deletions.
16 changes: 7 additions & 9 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ plugins {
}

group = 'com.github.joutvhu'
version = '2.3.6'
version = '2.3.7'
sourceCompatibility = 1.8
targetCompatibility = 1.8

Expand All @@ -32,8 +32,7 @@ ext {
'spring-boot.version' : '2.3.0.RELEASE',
'spring-framework.version' : '5.2.6.RELEASE',
'spring-dynamic-commons.version': '2.0.0',
'hibernate.version' : '5.4.15.Final',
'commons-lang3.version' : '3.12.0'
'hibernate.version' : '5.4.15.Final'
]
managedVersions = [
'org.springframework:spring-aspects' : 'spring-framework.version',
Expand All @@ -43,8 +42,7 @@ ext {
'org.springframework.data:spring-data-commons': 'spring-boot.version',
'org.springframework.data:spring-data-jpa' : 'spring-boot.version',
'com.github.joutvhu:spring-dynamic-commons' : 'spring-dynamic-commons.version',
'org.hibernate:hibernate-core' : 'hibernate.version',
'org.apache.commons:commons-lang3' : 'commons-lang3.version'
'org.hibernate:hibernate-core' : 'hibernate.version'
]
otherVersions = [
'org.springframework.boot:spring-boot-dependencies': 'spring-boot.version'
Expand All @@ -71,8 +69,8 @@ dependencies {

implementation 'org.hibernate:hibernate-core'

compileOnly 'org.projectlombok:lombok:1.18.24'
annotationProcessor 'org.projectlombok:lombok:1.18.24'
compileOnly 'org.projectlombok:lombok:1.18.26'
annotationProcessor 'org.projectlombok:lombok:1.18.26'

testImplementation(platform('org.junit:junit-bom:5.8.2'))
testImplementation 'org.junit.jupiter:junit-jupiter-api'
Expand All @@ -88,8 +86,8 @@ dependencies {
testImplementation 'com.h2database:h2'
testImplementation 'com.github.joutvhu:spring-dynamic-freemarker:1.0.0'

testCompileOnly 'org.projectlombok:lombok:1.18.24'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.24'
testCompileOnly 'org.projectlombok:lombok:1.18.26'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.26'
}

jar {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package org.springframework.data.jpa.repository.query;

import org.hibernate.jpa.TypedParameterValue;
import org.springframework.data.repository.query.Parameters;

import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;

Expand Down Expand Up @@ -72,13 +72,26 @@ private Map<String, Object> getParamModel(JpaParametersParameterAccessor accesso
Object value = accessor.getValue(parameter);
if (value != null && parameter.isBindable()) {
String key = parameter.getName().orElse(String.valueOf(parameter.getIndex()));
if (value instanceof TypedParameterValue) {
result.put(key, ((TypedParameterValue) value).getValue());
} else {
result.put(key, value);
}
result.put(key, getParameterValue(value));
}
});
return result;
}

@SuppressWarnings("java:S1872")
private Object getParameterValue(Object value) {
Class<?> valueClass = value.getClass();
String className = valueClass.getName();
if ("org.hibernate.query.TypedParameterValue".equals(className) ||
"org.hibernate.jpa.TypedParameterValue".equals(className)) {
try {
Method getValue = valueClass.getMethod("getValue");
return getValue.invoke(value);
} catch (Exception e) {
return value;
}
} else {
return value;
}
}
}

0 comments on commit d9f7143

Please sign in to comment.