gpt4 book ai didi

java - 在不实际获取关联实体的情况下设置@ManyToOne 或@OneToOne 关系

转载 作者:搜寻专家 更新时间:2023-10-30 23:43:30 24 4
gpt4 key购买 nike

我有类似的实体

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

问题是我不得不做不必要的阅读脚本,只是为了在模板中设置它。有什么方法可以只设置脚本的 Id,但仍然有返回 Script 的 getter。

最佳答案

是的,有办法。

Hibernate 允许你做这样的事情:

template.setScript(new Script());
template.getSCript().setId(scriptId);
commonDao.save(template);

关于java - 在不实际获取关联实体的情况下设置@ManyToOne 或@OneToOne 关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32117131/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com