与JPA OneToMany映射的只读关联

ant*_*hos 5 java orm spring hibernate jpa

我有一个与另一个实体相关联的交易实体,因此在这种情况下不应更新关联的实体。

例如。案例*->用户

如果案例由用户拥有,反之,则用户可以拥有许多关联的案例。

使用OneToMany和JoinColumn JPA批注映射该关联。

我还尝试将用户实体的Trasactional注释标记为只读,并且还使获取方法成为Transient。但是,如果更改了状态,这似乎并不会停止对User的更新。

请帮我一个图,向用户声明“只读”关联。

lwe*_*ler 5

您可以添加updatable=false@JoinColumn 注释。

此外,您不应该user在您的实体中添加 setter 方法,并在您的实体中Case添加相同的setter 方法。实体中的getter还应该返回一个不可修改的集合:caseSetUsergetCaseSetUser

public Set<Case> getCaseSet() {
    return Collections.unmodifiableSet(caseSet);
}
Run Code Online (Sandbox Code Playgroud)