Tips:

  1. 如果修改或删除的方法没有被事务管理,需要在方法上加上 @Transactional
  2. 修改和删除的方法返回值可以是 void 或者是 int,当是 int 时,返回 1 代表成功,0 代表失败
  3. 删除方法可以不使用 @modify@Query 注解,直接通过命名规则的方法删除

1、修改数据,使用 @Modify@Query 注解

@Modifying
@Query("update User u set u.firstname = ?1 where u.lastname = ?2")
int setFixedFirstnameFor(String firstname, String lastname);

2、删除数据,使用 @Modify@Query 注解

@Modifying
@Query("delete from User u where u.role.id = ?1")
void deleteInBulkByRoleId(long roleId);

3、删除数据,使用命名规则

void deleteByRoleId(long roleId);
Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐