【问题标题】:How to delete from spring boot -REST API /JPA?如何从 spring boot -REST API /JPA 中删除?
【发布时间】:2021-09-28 04:05:16
【问题描述】:

我想从表格中删除一个项目。

现值如下:

CatId         CatName
1             Name1
1             Name2
1             Name3
1             ABC1 
1             ABC2
2             Name4
3             Name5

两列都在同一个表中。如何使用spring boot jpa从CatId为1的CatName列中删除NAME1、NAME2、NAME3?

【问题讨论】:

  • 创建类似的查询:@Query("delete from Cat b where b.id=1")
  • 相同的我会包含其他值...不能删除基于我只。需要我连同猫的名字......

标签: spring spring-data-jpa


【解决方案1】:

你需要创建Cat Repository并把这个方法如下..

@Repository
public interface CatRepository extends JpaRepository<Cat, Integer > {

   List<Cat> findAllByCatIdAndCatNameLike(Integer catId, String catName);

}

在您的服务类中创建方法并放入以下代码行。

List<Cat> catList = catRepository.findAllByCatIdAndCatNameLike(1, Name);
catRepository.deleteAll(catList);

 

【讨论】:

  • 虽然我不认为上面有什么问题,但为什么不在存储库中使用条件创建一个删除方法呢? deleteByCatIdAndCatName(Integer catId, String catName);
  • 这里一个catId可以有多个catName,但是catName是唯一的。所以,请求参数应该是 catId & List catName;
  • 另外,不能使用“Like”,因为应该填充类似的其他 catName。
猜你喜欢
  • 2021-08-28
  • 2021-09-22
  • 2018-09-22
  • 2021-04-02
  • 2021-08-06
  • 2021-04-13
  • 1970-01-01
  • 2016-09-19
  • 2022-09-24
相关资源
最近更新 更多