繁体   English   中英

Java:获取引用的数据库对象,然后对其进行修改

[英]Java : getting a referenced data base object and then modifying it

给定此代码,这是我的问题:

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对象所做的更改不适用于最初设置为相等的对象。

如何提高效率? 我知道有更好的方法。

尝试之一

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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM