我工作中用到了JPA,最近用到了delete,之前也解決過一次,沒太在意,今天又遇到了
public interface ARepository extends JpaRepository<A, String>{
A deleteByBAndC(B b, C c);
}
一開始我事返回值是刪除的這個記錄,發現給我報錯,說什麼Integer不能轉化爲A,我看了半天業務代碼,沒錯啊
原來錯在這裏,delete的操作不能有返回值,爲什麼?我們看繼承類JpaRepository,又繼承了PagingAndSortingRepository(用來分頁的),有一個CrudRepository(定義了基本的CRUD操作),我們會發現這個類的返回值是空!
修改:
public interface ARepository extends JpaRepository<A, String>{
void deleteByBAndC(B b, C c);
}
這就對了!