使用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>这样就解决了。
本文详细介绍了在使用SpringDataJPA进行查询时遇到resultreturnsmorethanoneelements异常的解决方法。通过将返回值类型更改为List,避免了自动封装实体类导致的问题。同时提供了修改后的DAO代码示例。
470





