将瞬态修饰符添加到非拥有@OneToMany(mappedBy= " ")关系



这个问题与另一个问题相似/相关,但更具体地集中在非拥有@OneToMany关系方面。给定以下映射的吸气剂:

...
private List<Leaf> leaves;
...
@OneToMany(mappedBy = "extkey")
@LazyCollection(LazyCollectionOption.TRUE)
public List<Leaf> getLeaves() {
return leaves;
}
...

在这种情况下,将transient修饰符添加到leaves字段会产生什么影响?

这种关系是懒惰和"反转"的,即拥有方是Leaf对象。代码以前在工作,现在看起来仍然可以工作,但我想知道任何不希望的微妙副作用,因为它在 JPA 上下文中有一些特殊性transient。我需要这个,因为将实体实例传递给外部 Gson lib 会循环并stackoverflow,我想 bc 双向关系会创建一个循环,我可以使用瞬态字段来避免它。谢谢

当您反序列化实体时,影响将受到影响,因为序列化后对象状态会有所不同。

无论如何,您没有指定为什么需要此修饰符。

最新更新