簡體   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