天天看點

使用Spring Data JPA查詢時,報result returns more than one elements異常

使用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>這樣就解決了。