结果returns多于一个元素

result returns more than one elements

我遇到错误 javax.persistence.NonUniqueResultException: result returns more than one elements 在获取 EmpID

Bypass oldBypass = bypassService.getByEmployeeId(employee.getId()); //Causing a problem- Method threw 'org.springframework.dao.IncorrectResultSizeDataAccessException' exception.

ByPassService.java

 Bypass getByEmployeeId(Long id);

ByPassServiceImpl.java

 public Bypass getByEmployeeId(Long id) {
        return bypassRepository.findByEmployeeId(id);
    }
@Query("select d from Bypass d where d.employee.id = ?1 and d.isDeleted = 0")
  Bypass findByEmployeeId(Long id)

这是我的select声明。

我应该使用 ArrayLists 吗???

您的查询是否只返回一个条目?您可以 运行 单独检查它的结果。通常 employee id 应该是 employee table 中的 主键 ,这将强制唯一性。

如果您不希望 employee id 在您的记录中是唯一的,那么是的,您应该期待一个条目集合。