File tree Expand file tree Collapse file tree 3 files changed +17
-3
lines changed
main/java/org/springframework/data/jpa/repository/query
test/java/org/springframework/data/jpa/repository Expand file tree Collapse file tree 3 files changed +17
-3
lines changed Original file line number Diff line number Diff line change @@ -296,9 +296,10 @@ public DeleteExecution(EntityManager em) {
296296
297297 Query query = jpaQuery .createQuery (accessor );
298298 List <?> resultList = query .getResultList ();
299+ Class <?> returnType = jpaQuery .getQueryMethod ().getReturnType ();
299300
300- boolean simpleBatch = Number . class . isAssignableFrom ( jpaQuery . getQueryMethod (). getReturnType () )
301- || org .springframework .data .util .ReflectionUtils .isVoid (jpaQuery . getQueryMethod (). getReturnType () );
301+ boolean simpleBatch = ClassUtils . isAssignable ( Number . class , returnType )
302+ || org .springframework .data .util .ReflectionUtils .isVoid (returnType );
302303 boolean collectionQuery = jpaQuery .getQueryMethod ().isCollectionQuery ();
303304
304305 if (!simpleBatch && !collectionQuery ) {
Original file line number Diff line number Diff line change @@ -1598,12 +1598,21 @@ void deleteByShouldRemoveElementsMatchingDerivedQuery() {
15981598 assertThat (repository .countByLastname (firstUser .getLastname ())).isZero ();
15991599 }
16001600
1601- @ Test // DATAJPA-460
1601+ @ Test // DATAJPA-460, GH-4015
16021602 void deleteByShouldReturnNumberOfEntitiesRemovedIfReturnTypeIsLong () {
16031603
16041604 flushTestUsers ();
16051605
16061606 assertThat (repository .removeByLastname (firstUser .getLastname ())).isOne ();
1607+ assertThat (repository .removeOneByLastname (secondUser .getLastname ())).isOne ();
1608+ }
1609+
1610+ @ Test // GH-4015
1611+ void deleteByShouldReturnNumberOfEntitiesRemovedIfReturnTypeIsInt () {
1612+
1613+ flushTestUsers ();
1614+
1615+ assertThat (repository .removeOneMoreByLastname (secondUser .getLastname ())).isOne ();
16071616 }
16081617
16091618 @ Test // DATAJPA-460
Original file line number Diff line number Diff line change @@ -296,6 +296,10 @@ Window<User> findTop3ByFirstnameStartingWithOrderByFirstnameAscEmailAddressAsc(S
296296 // DATAJPA-460
297297 Long removeByLastname (String lastname );
298298
299+ long removeOneByLastname (String lastname );
300+
301+ int removeOneMoreByLastname (String lastname );
302+
299303 // DATAJPA-460
300304 List <User > deleteByLastname (String lastname );
301305
You can’t perform that action at this time.
0 commit comments