|
10 | 10 | import com.beyt.jdq.exception.DynamicQueryNoAvailableOrOperationUsageException; |
11 | 11 | import com.beyt.jdq.testenv.entity.Customer; |
12 | 12 | import com.beyt.jdq.testenv.entity.User; |
| 13 | +import lombok.Getter; |
| 14 | +import lombok.Setter; |
13 | 15 | import org.junit.jupiter.api.BeforeAll; |
14 | 16 | import org.junit.jupiter.api.Test; |
15 | 17 | import org.junit.jupiter.api.TestInstance; |
|
18 | 20 | import org.springframework.data.domain.Sort; |
19 | 21 | import org.springframework.data.util.Pair; |
20 | 22 |
|
| 23 | +import javax.persistence.Tuple; |
21 | 24 | import java.text.SimpleDateFormat; |
22 | 25 | import java.util.Calendar; |
23 | 26 | import java.util.List; |
@@ -265,4 +268,25 @@ void queryBuilderTests() { |
265 | 268 | assertEquals(toList(user7, user6, user4, user2), |
266 | 269 | userRepository.queryBuilder().where(Field("status").eq(User.Status.ACTIVE)).orderBy(OrderBy("id", Order.DESC)).getResult()); |
267 | 270 | } |
| 271 | + |
| 272 | + public static class UserName { |
| 273 | + @Getter |
| 274 | + @Setter |
| 275 | + private String name; |
| 276 | + } |
| 277 | + |
| 278 | + @Test |
| 279 | + void page() { |
| 280 | + DynamicQuery dynamicQuery = new DynamicQuery(); |
| 281 | + dynamicQuery.setWhere(CriteriaList.of(Criteria.of("id", CriteriaOperator.GREATER_THAN, 3))); |
| 282 | + dynamicQuery.setPageSize(2); |
| 283 | + dynamicQuery.setPageNumber(1); |
| 284 | + Page<User> result = userRepository.findAllAsPage(dynamicQuery); |
| 285 | + assertEquals(toList(user6, user7), result.getContent()); |
| 286 | + dynamicQuery.getSelect().add(Pair.of("name", "name")); |
| 287 | + Page<UserName> result2 = userRepository.findAllAsPage(dynamicQuery, UserName.class); |
| 288 | + assertEquals(toList(user6.getName(), user7.getName()), result2.getContent().stream().map(UserName::getName).toList()); |
| 289 | + List<Tuple> allAsTuple = userRepository.findAllAsTuple(dynamicQuery); |
| 290 | + Page<Tuple> allAsTuplePage = userRepository.findAllAsTuplePage(dynamicQuery); |
| 291 | + } |
268 | 292 | } |
0 commit comments