Skip to content

Commit 92a18cd

Browse files
committed
Merge remote-tracking branch 'remotes/origin/dev'
2 parents a0b8744 + ac2d555 commit 92a18cd

File tree

7 files changed

+32
-10
lines changed

7 files changed

+32
-10
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -348,7 +348,7 @@ public class UserRepositoryIntegrationTests {
348348
QueryObject `UserQuery`
349349
```java
350350
@Data
351-
@IncludeFields("emailAddress")
351+
@IncludeFields("emailAddress,fullName(lastName,firstName),age")
352352
public class UserQuery {
353353
@ExprParam(expr = ExprType.CONTAINS)
354354
private String emailAddress;

README_zh.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -312,7 +312,7 @@ public class UserRepositoryIntegrationTests {
312312
查询对象 `UserQuery`
313313
```java
314314
@Data
315-
@IncludeFields("emailAddress")
315+
@IncludeFields("emailAddress,fullName(lastName,firstName),age")
316316
public class UserQuery {
317317
@ExprParam(expr = ExprType.CONTAINS)
318318
private String emailAddress;

pom.xml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>io.github.hexagonframework.data</groupId>
88
<artifactId>spring-data-ebean</artifactId>
9-
<version>1.4.0.RELEASE</version>
9+
<version>1.4.1.RELEASE</version>
1010
<packaging>jar</packaging>
1111

1212
<name>Spring Data Ebean</name>
@@ -47,7 +47,7 @@
4747
<bundlor.failOnWarnings>false</bundlor.failOnWarnings>
4848
<spring>5.0.4.RELEASE</spring>
4949
<springdata.commons>2.0.5.RELEASE</springdata.commons>
50-
<ebean.version>11.15.4</ebean.version>
50+
<ebean.version>11.15.5</ebean.version>
5151
<ebean-spring-txn.version>11.10.4</ebean-spring-txn.version>
5252
<sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
5353
</properties>
@@ -60,6 +60,7 @@
6060
<plugin>
6161
<groupId>org.apache.maven.plugins</groupId>
6262
<artifactId>maven-source-plugin</artifactId>
63+
<version>3.0.1</version>
6364
<executions>
6465
<execution>
6566
<phase>package</phase>
@@ -72,6 +73,7 @@
7273
<plugin>
7374
<groupId>org.apache.maven.plugins</groupId>
7475
<artifactId>maven-javadoc-plugin</artifactId>
76+
<version>3.0.0</version>
7577
<configuration>
7678
<source>${java.version}</source>
7779
</configuration>
@@ -87,6 +89,7 @@
8789
<plugin>
8890
<groupId>org.apache.maven.plugins</groupId>
8991
<artifactId>maven-gpg-plugin</artifactId>
92+
<version>1.6</version>
9093
<executions>
9194
<execution>
9295
<phase>verify</phase>
@@ -222,14 +225,17 @@
222225
<plugin>
223226
<groupId>org.apache.maven.plugins</groupId>
224227
<artifactId>maven-assembly-plugin</artifactId>
228+
<version>3.0.0</version>
225229
</plugin>
226230
<plugin>
227231
<groupId>org.codehaus.mojo</groupId>
228232
<artifactId>wagon-maven-plugin</artifactId>
233+
<version>2.0.0</version>
229234
</plugin>
230235
<plugin>
231236
<groupId>org.asciidoctor</groupId>
232237
<artifactId>asciidoctor-maven-plugin</artifactId>
238+
<version>1.5.6</version>
233239
</plugin>
234240
</plugins>
235241
</build>

src/main/java/org/springframework/data/ebean/querychannel/EbeanQueryChannelService.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import io.ebean.text.PathProperties;
2121
import org.springframework.data.domain.Pageable;
2222
import org.springframework.data.ebean.annotation.ExprParam;
23+
import org.springframework.data.ebean.annotation.IncludeFields;
2324
import org.springframework.data.ebean.util.Converters;
2425
import org.springframework.util.Assert;
2526
import org.springframework.util.StringUtils;
@@ -356,6 +357,17 @@ private static <T> Query<T> query(EbeanServer ebeanServer, Class<T> entityType,
356357
Query<T> query = ebeanServer.find(entityType);
357358
if (StringUtils.hasText(fetchPath)) {
358359
query.apply(PathProperties.parse(fetchPath));
360+
} else {
361+
// queryObject IncludePath
362+
if (queryObject != null) {
363+
if (queryObject.getClass().isAnnotationPresent(IncludeFields.class)) {
364+
IncludeFields includeFields = queryObject.getClass().getAnnotation(IncludeFields.class);
365+
String ifs = includeFields.value();
366+
if (StringUtils.hasText(ifs)) {
367+
query.apply(PathProperties.parse(ifs));
368+
}
369+
}
370+
}
359371
}
360372

361373
ExpressionList<T> expressionList = query.where();

src/test/java/org/springframework/data/ebean/querychannel/EbeanQueryChannelServiceIntegrationTest.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,11 +111,16 @@ public void query_queryObject() {
111111
userQuery.setEmailAddress("[email protected]");
112112
userQuery.setAgeStart(1);
113113
userQuery.setAgeEnd(30);
114-
UserDTO user = queryChannel.createQuery(User.class, userQuery)
114+
115+
User user = queryChannel.createQuery(User.class, userQuery)
116+
.findOne();
117+
assertEquals("[email protected]", user.getEmailAddress());
118+
119+
UserDTO userDTO = queryChannel.createQuery(User.class, userQuery)
115120
.asDto(UserDTO.class)
116121
.setRelaxedMode()
117122
.findOne();
118-
assertEquals("[email protected]", user.getEmailAddress());
123+
assertEquals("[email protected]", userDTO.getEmailAddress());
119124
}
120125

121126
@Test
Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package org.springframework.data.ebean.querychannel;
22

3-
import lombok.AllArgsConstructor;
43
import lombok.Getter;
54
import lombok.Setter;
65

@@ -10,9 +9,9 @@
109
*/
1110
@Getter
1211
@Setter
13-
@AllArgsConstructor
1412
public class UserDTO {
15-
private String firstName;
1613
private String lastName;
14+
private String firstName;
1715
private String emailAddress;
16+
private int age;
1817
}

src/test/java/org/springframework/data/ebean/querychannel/UserQuery.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* @version 1.0 (created time: 2018/4/29).
1010
*/
1111
@Data
12-
@IncludeFields("emailAddress")
12+
@IncludeFields("emailAddress,fullName(lastName,firstName),age")
1313
public class UserQuery {
1414
@ExprParam(expr = ExprType.CONTAINS)
1515
private String emailAddress;

0 commit comments

Comments
 (0)