使用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>这样就解决了。