Spring Data的@Modifying注解用于指示查询是修改查询,例如更新或删除操作,而不是简单的查询操作。它通常与@Query注解一起使用,以执行自定义的更新或删除操作。
代码如下:
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.CrudRepository;
public interface UserRepository extends CrudRepository<User, Long> {
@Modifying
@Query("UPDATE User u SET u.status = ?1 WHERE u.id = ?2")
void updateUserStatus(String newStatus, Long userId);
}
在这个示例中,定义了一个UserRepository接口,其中包含一个用@Modifying注解修饰的自定义更新查询。该查询使用@Query注解定义,指定了更新用户状态的操作。通过@Modifying注解,Spring Data知道这是一个修改操作,而不是简单的查询操作。
当调用updateUserStatus方法时,它将执行自定义的更新操作,将指定用户的状态更新为新状态。
注意,@Modifying注解通常与
@Transactional注解一起使用,以确保修改操作在事务范围内执行,从而保证数据的一致性。
原文链接: https://blog.csdn.net/2401_82884096/article/details/138120697