DATAJDBC-534 - Derived Query support for count projection.

Original pull request: #215.
This commit is contained in:
mhyeon-lee
2020-05-05 22:15:45 +09:00
committed by Jens Schauder
parent aa05b792c3
commit bc6c88f055
2 changed files with 19 additions and 0 deletions

View File

@@ -55,6 +55,7 @@ import org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations;
* @author Roman Chigvintsev
* @author Mark Paluch
* @author Jens Schauder
* @author Myeonghyeon Lee
*/
@RunWith(MockitoJUnitRunner.class)
public class PartTreeJdbcQueryUnitTests {
@@ -548,6 +549,17 @@ public class PartTreeJdbcQueryUnitTests {
assertThat(query.getParameterSource().getValue("user_street")).isEqualTo("Hello");
}
@Test // DATAJDBC-534
public void createsQueryForCountProjection() throws Exception {
JdbcQueryMethod queryMethod = getQueryMethod("countByFirstName", String.class);
PartTreeJdbcQuery jdbcQuery = createQuery(queryMethod);
ParametrizedQuery query = jdbcQuery.createQuery((getAccessor(queryMethod, new Object[] { "John" })));
assertThat(query.getQuery()).isEqualTo(
"SELECT COUNT(*) FROM " + TABLE + " WHERE " + TABLE + ".\"FIRST_NAME\" = :first_name");
}
private PartTreeJdbcQuery createQuery(JdbcQueryMethod queryMethod) {
return new PartTreeJdbcQuery(mappingContext, queryMethod, H2Dialect.INSTANCE, converter,
mock(NamedParameterJdbcOperations.class), mock(RowMapper.class));
@@ -639,6 +651,8 @@ public class PartTreeJdbcQueryUnitTests {
User findByAddressStreet(String street);
User findByAnotherEmbeddedList(Object list);
long countByFirstName(String name);
}
@Table("users")