0

鉴于此代码,这是我的问题:

studentOutcomeService.getAll()
                     .get(getStudentOutcomeByID(
                            selectedStudentOutcome.getId().intValue()))
                     .setDescription(description);

studentOutcomeService.getAll()
                     .get(getStudentOutcomeByID(
                            selectedStudentOutcome.getId().intValue()))
                     .setSequenceNumber(Integer.valueOf(sequenceNumber));

studentOutcomeService.getAll()
                     .get(getStudentOutcomeByID(
                            selectedStudentOutcome.getId().intValue()))
                     .setShortName(shortName);

studentOutcomeService.getAll()
                     .get(getStudentOutcomeByID(
                            selectedStudentOutcome.getId().intValue()))
                     .setIdentifier(identifier);

我对我查询数据库 4 次以不断更新字段这一事实感到不满。

我确实创建了一个 StudentOutcome 对象并存储在那里找到的内容,然后修改我创建的那个对象,但它似乎是在创建一个新对象时,尽管它被设置为等于在数据库中找到的对象,使用 =,运算符,对新 StudentOutcome 对象所做的更改不适用于它最初设置的值。

我怎样才能使它更有效率?我知道有更好的方法。

4

1 回答 1

0

尝试任一

StudentOutcome toUpdate = studentOutcomeService.getAll().get(
    getStudentOutcomeByID(selectedStudentOutcome.getId()));
toUpdate.setDescription(description);
toUpdate.setSequenceNumber(Integer.valueOf(sequenceNumber));
toUpdate.setShortName(shortName);
toUpdate.setIdentifier(identifier);

甚至只是

StudentOutcome toUpdate = getStudentOutcomeByID(selectedStudentOutcome.getId());
toUpdate.setDescription(description);
toUpdate.setSequenceNumber(Integer.valueOf(sequenceNumber));
toUpdate.setShortName(shortName);
toUpdate.setIdentifier(identifier);
于 2013-10-21T20:37:09.813 回答