第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

春季啟動(dòng)應(yīng)用程序oneToMany關(guān)系中的assertTrue異常

春季啟動(dòng)應(yīng)用程序oneToMany關(guān)系中的assertTrue異常

MMTTMM 2022-07-14 09:37:45
我有一個(gè)帶有cooperator和student模型(等等)的彈簧啟動(dòng)應(yīng)用程序。他們有來自合作者方面的@oneToMany 關(guān)系和來自學(xué)生方面的@ManyToOne合作者等級(jí):@Entitypublic class Cooperator{    private Integer id;    public void setId(Integer value) {        this.id = value;    }    @Id    public Integer getId() {        return this.id;    }    private Set<Student> student;    @OneToMany(mappedBy="cooperator", cascade={CascadeType.ALL})    public Set<Student> getStudent() {       return this.student;    }    public void setStudent(Set<Student> students) {       this.student = students;    }    public void addStudent(Student student) {        try {            this.student.add(student);        }        catch(Exception e) {                this.student = new HashSet<Student>();            this.student.add(student);        }    }}學(xué)生班級(jí):@Entitypublic class Student{    private String studentID;    public void setStudentID(String value) {       this.studentID = value;    }    @Id    public String getStudentID() {        return this.studentID;    }    private Cooperator cooperator;    @ManyToOne(optional=false)    public Cooperator getCooperator() {       return this.cooperator;    }    public void setCooperator(Cooperator cooperator) {       this.cooperator = cooperator;    }}我正在通過以下方式測(cè)試關(guān)系:    @Test    public void cooperatorStudent() {        String studentID = "260632353";        String firstname = "Saleh";        String lastname = "Bakhit";        Student student1 = service.createStudent(studentID, firstname, lastname, cooperator);        assertEquals(cooperator, student1.getCooperator());    }問題是 assertTrue 語句失敗,即使cooperatorStudents實(shí)際上包含兩個(gè)student對(duì)象。非常感謝任何關(guān)于為什么會(huì)這樣的幫助。
查看完整描述

2 回答

?
明月笑刀無情

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超4個(gè)贊

就我沒有忽略任何事情而言,您不會(huì)在 test-method 中將學(xué)生對(duì)象添加到合作者中。


在您的測(cè)試方法中調(diào)用該addStudent()方法應(yīng)該可以解決問題。


@Test

public void cooperatorStudent() {

    String studentID = "260632353";

    String firstname = "Saleh";

    String lastname = "Bakhit";

    Student student1 = service.createStudent(studentID, firstname, lastname, cooperator);

    assertEquals(cooperator, student1.getCooperator());


    studentID = "260632350";

    firstname = "testFirst";

    lastname = "testLast";

    Student student2 = service.createStudent(studentID, firstname, lastname, cooperator);

    assertEquals(cooperator, student2.getCooperator());


    cooperator.addStudent(student1);

    cooperator.addStudent(student2);


    Set<Student> cooperatorStudents = cooperator.getStudent();

    assertTrue(cooperatorStudents.contains(student1));

    assertTrue(cooperatorStudents.contains(student2));

}


查看完整回答
反對(duì) 回復(fù) 2022-07-14
?
互換的青春

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊

然后你想要比較對(duì)象,你必須覆蓋“equals”和“hashcode”方法。默認(rèn)情況下,每個(gè)類實(shí)例“對(duì)象”都是唯一的,盡管它們的字段相同。很好的解釋:https ://dzone.com/articles/working-with-hashcode-and-equals-in-java


查看完整回答
反對(duì) 回復(fù) 2022-07-14
  • 2 回答
  • 0 關(guān)注
  • 123 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)