1
我有實體類同設置@ManyToOne或者@OneToOne關係,而不實際獲取相關實體
@Entity
@Table(name = "Template")
public class Template implements java.io.Serializable {
Script script;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "SCRIPTID")
public Script getScript() {
return script;
}
public void setScript(Script script) {
this.script= script;
}
}
其中Script
是另一個實體。
當我要救Template
,我得到的Script
ID從一些舊代碼,所以我的儲蓄代碼:
Long scriptId = createNewScript(....);
Script script = commonDao.findByPrimaryKey(Script.class, scriptId); //unnecessary reading
template.setScript(script);
commonDao.save(template);
的問題是,我必須做無謂的只讀的Script
將其設置在Template
。有沒有辦法只設置腳本的ID,但仍然有返回Script
的getter。
我不認爲是有,因爲template.getScript();僅當腳本處於持久狀態或存在於數據庫中時纔會返回腳本,或者您已將其設置爲不將其持久保存到數據庫中,我的意思是:template.setScript(script)。 – jfun