使用Spring Data JPA查詢時,報result returns more than one elements異常
錯誤前DAO代碼
public interface KaoWuXiTongZhaoPianDao extends PagingAndSortingRepository<KaoWuXiTongZhaoPian, Long> {
@Query(value = "from KaoWuXiTongZhaoPian k where k.zhengjianbianhao=:zhengjianbianhao")
public KaoWuXiTongZhaoPian findByZhengjianbianhao(@Param("zhengjianbianhao")String string);
}
因為JPA裡的方法如果不加用來辨別查詢結果唯一性的代碼時,會自動将查詢結果封裝成實體類,并存到一個List裡,這裡如果用實體類進行接收是不行的,就會報result returns more than one elements異常,是以要将代碼改進行修改
修改後DAO代碼
public interface KaoWuXiTongZhaoPianDao extends PagingAndSortingRepository<KaoWuXiTongZhaoPian, Long> {
@Query(value = "from KaoWuXiTongZhaoPian k where k.zhengjianbianhao=:zhengjianbianhao")
public List<KaoWuXiTongZhaoPian> findByZhengjianbianhao(@Param("zhengjianbianhao")String string);
}
将傳回值改為List<KaoWuXiTongZhaoPian>這樣就解決了。