当前位置: 代码迷 >> 综合 >> JPA查询问题
  详细解决方案

JPA查询问题

热度:40   发布时间:2023-09-29 08:21:26.0

语句:

 @Query(value = "update DetectTypeSettingEntity as d set d.isForbidden = ?1 where d.serverId = ?2")int updateStatusByServerId(String status, String serverId);

错误一:

Not supported for DML operations [update xxxxx.detector.repository.entity.DetectTypeSettingEntity set isForbidden = ?1 where serverId = ?2]

这是因为缺少: @Modifying

错误二:
    org.springframework.dao.InvalidDataAccessApiUsageException: Executing an update/delete query; nested exception is javax.persistence.TransactionRequiredException: Executing an update/delete query

这是因为缺少:@Transactional

所以最终应该是:

    @Modifying@Transactional@Query(value = "update DetectTypeSettingEntity as d set d.isForbidden = ?1 where d.serverId = ?2")int updateStatusByServerId(String status, String serverId);

 

  相关解决方案