Deprecated answer (Spring JPA Data <= 1.6.x):
@Modifying annotation for salvation. However, you will need to provide your custom SQL behavior.
@Transactional(readOnly = true) public interface UserRepository extends JpaRepository<User, Long> { @Modifying @Transactional @Query("delete from User u where u.firstName = ?1") void deleteUsersByFirstName(String firstName); }
Update:
In modern versions of Spring, JPA data output (> = 1.7.x) for delete , remove and count operations is available.
public interface UserRepository extends CrudRepository<User, Long> { Long countByFirstName(String firstName); @Transactional Long deleteByFirstName(String firstName); @Transactional List<User> removeByFirstName(String firstName); }
Andrey Atapin May 18 '14 at 15:35 2014-05-18 15:35
source share