|
57 | 57 | *
|
58 | 58 | * @author Oliver Gierke
|
59 | 59 | * @author Mark Paluch
|
| 60 | + * @author Michael Cramer |
60 | 61 | */
|
61 | 62 | @RunWith(SpringJUnit4ClassRunner.class)
|
62 | 63 | @ContextConfiguration("classpath:infrastructure.xml")
|
@@ -136,6 +137,28 @@ public void shouldSelectAliasedIdForExistsProjectionQueries() throws Exception {
|
136 | 137 | assertThat(HibernateUtils.getHibernateQuery(getValue(query, PROPERTY)), containsString(".id from User as"));
|
137 | 138 | }
|
138 | 139 |
|
| 140 | + @Test // DATAJPA-1074 |
| 141 | + public void isEmptyCollection() throws Exception { |
| 142 | + |
| 143 | + JpaQueryMethod queryMethod = getQueryMethod("findByRolesIsEmpty"); |
| 144 | + PartTreeJpaQuery jpaQuery = new PartTreeJpaQuery(queryMethod, entityManager, provider); |
| 145 | + |
| 146 | + Query query = jpaQuery.createQuery(new Object[] {}); |
| 147 | + |
| 148 | + assertThat(HibernateUtils.getHibernateQuery(getValue(query, PROPERTY)), endsWith("roles is empty")); |
| 149 | + } |
| 150 | + |
| 151 | + @Test // DATAJPA-1074 |
| 152 | + public void isNotEmptyCollection() throws Exception { |
| 153 | + |
| 154 | + JpaQueryMethod queryMethod = getQueryMethod("findByRolesIsNotEmpty"); |
| 155 | + PartTreeJpaQuery jpaQuery = new PartTreeJpaQuery(queryMethod, entityManager, provider); |
| 156 | + |
| 157 | + Query query = jpaQuery.createQuery(new Object[] {}); |
| 158 | + |
| 159 | + assertThat(HibernateUtils.getHibernateQuery(getValue(query, PROPERTY)), endsWith("roles is not empty")); |
| 160 | + } |
| 161 | + |
139 | 162 | private void testIgnoreCase(String methodName, Object... values) throws Exception {
|
140 | 163 |
|
141 | 164 | Class<?>[] parameterTypes = new Class[values.length];
|
@@ -192,5 +215,9 @@ interface UserRepository extends Repository<User, Long> {
|
192 | 215 | boolean existsByFirstname(String firstname);
|
193 | 216 |
|
194 | 217 | List<User> findByCreatedAtAfter(@Temporal(TemporalType.TIMESTAMP) @Param("refDate") Date refDate);
|
| 218 | + |
| 219 | + List<User> findByRolesIsEmpty(); |
| 220 | + |
| 221 | + List<User> findByRolesIsNotEmpty(); |
195 | 222 | }
|
196 | 223 | }
|
0 commit comments