该问题与此other类似/相关,但更具体地侧重于非所有权@OneToMany
关系方面。给定以下映射的getter:
...
private List<Leaf> leaves;
...
@OneToMany(mappedBy = "extkey")
@LazyCollection(LazyCollectionOption.TRUE)
public List<Leaf> getLeaves() {
return leaves;
}
...
在这种情况下,将transient
修饰符添加到leaves
字段会产生什么影响?
该关系是惰性的并且是“反向的”,即拥有方是Leaf
对象。该代码以前曾经工作过,现在看起来仍然可以工作,但是我想知道是否有任何不希望出现的细微副作用,因为transient
在JPA上下文中有一些特殊之处。我需要这样做,因为将实体实例传递到外部Gson lib会循环并stackoverflow
,因为双向关系会创建一个循环,因此我可以避免使用using transient字段。谢谢
答案 0 :(得分:0)
当您反序列化实体时会产生影响,因为序列化后对象状态会有所不同。
无论如何,您没有指定为什么需要此修饰符。