Java 映射错误:找到多个具有给定标识符的行

Java 映射错误:找到多个具有给定标识符的行,java,spring,hibernate,jpa,Java,Spring,Hibernate,Jpa,我正在开发一个spring boot应用程序,我正在使用JPA和hibernate。我面临两个实体用户和评估之间的映射关系问题 主要思想是通过另一个(评估者)评估用户 User.java public class User implements Serializable { private static final long serialVersionUID = 1209816669845063949L; @Id @GeneratedValue private

我正在开发一个spring boot应用程序,我正在使用JPA和hibernate。
我面临两个实体用户评估之间的映射关系问题
主要思想是通过另一个(评估者)评估用户

User.java

public class User implements Serializable {

    private static final long serialVersionUID = 1209816669845063949L;
    @Id
    @GeneratedValue
    private int idUser;
    private String login;
    private String password;
    @ManyToMany(mappedBy = "listUsers")
    private List<ProjectGroup> listProjectGroup;

    @OneToOne(mappedBy = "EvaluatedUser")
    private Evaluation evaluation1;
    @OneToOne(mappedBy = "Evaluater")
    private Evaluation evaluation;
}
public class Evaluation {

    @Id
    @GeneratedValue
    private int idEvaluation;
    @OneToOne(cascade = { CascadeType.PERSIST, CascadeType.MERGE })
    @JoinColumn(name = "evaluateduser_fk")
    private User EvaluatedUser;
    @OneToOne(cascade = { CascadeType.PERSIST, CascadeType.MERGE })
    @JoinColumn(name = "evaluater_fk")
    private User Evaluater;
    @OneToOne(cascade = { CascadeType.PERSIST, CascadeType.MERGE })
    @JoinColumn(name = "project_fk")
    private Project project;

    @OneToOne(cascade = { CascadeType.PERSIST, CascadeType.MERGE })
    @JoinColumn(name = "notes_fk")
    private Notes notes;
    }
EvaluationController.java
我使用此方法返回所有评估

@GetMapping(path = "all-evaluation", produces = {"application/json" })
    public ResponseEntity<List<Evaluation>> getAllEvaluations() {
        List<Evaluation> list = evaluationService.findAll();
        return new ResponseEntity<List<Evaluation>>(list, HttpStatus.OK);
    }
@GetMapping(path=“all evaluation”,products={“application/json”})
公共响应获取所有评估(){
List=evaluationService.findAll();
返回新的响应属性(列表,HttpStatus.OK);
}
问题是,我不能对同一个用户进行两次评估,我认为问题在于我的关系OneToOne
这是我在返回json时遇到的异常:

出现意外错误(类型=内部服务器错误, 状态=500)。找到多个具有给定标识符的行:1, 类别:com.talan.entity.Evaluation;嵌套异常是 org.hibernate.hibernateeexception:具有给定 找到标识符:1,用于类:com.talan.entity.Evaluation


任何帮助都将非常感谢

请看一看您能否用业务“语言”解释用户与评估的关系?这是一个ERP平台,因此登录用户必须在一组工作人员中进行选择以评估他们。我的工作是跟踪Evaluator(登录用户)和Evaluator(工作用户)。