使用Spring Data JPA查询时,报result returns more than one elements异常
程序员文章站
2022-07-12 11:11:36
...
使用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>这样就解决了。