java – 与JPA OneToMany映射的只读关联

我有一个与另一个实体相关联的交易实体,因此在一个案例中不应更新相关联的实体.

例如.案例* – >用户

案例由用户拥有,反之,用户可以拥有许多相关案例.

使用OnetoMany和JoinColumn JPA注释映射关联.

我还尝试将User实体的Trasactional注释标记为readonly,并使得获取方法Transient.但是,如果用户状态发生变化,这似乎不会停止更新.

请帮我一个方法来向User声明一个“只读”关联.

解决方法

yiu可以添加updatable = falSEOn @JoinColumn注释.

此外,您不应在Case实体中为用户添加setter方法,而在User实体中也不应为caseSet添加setter方法. Userentity中的getter getCaseSet也应该返回一个不可修改的集合:

public Set<Case> getCaseSet() {
    return Collections.unmodifiableSet(caseSet);
}

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...