Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jpa 将临时修饰符添加到非所有者@OneToMany(mappedBy=";)关系_Jpa_Gson_Ejb_Java Ee 6 - Fatal编程技术网

Jpa 将临时修饰符添加到非所有者@OneToMany(mappedBy=";)关系

Jpa 将临时修饰符添加到非所有者@OneToMany(mappedBy=";)关系,jpa,gson,ejb,java-ee-6,Jpa,Gson,Ejb,Java Ee 6,这个问题与此类似/相关,但更具体地说,它关注的是一个非所有的@OneToMany关系方。给定以下映射的getter: ... private List<Leaf> leaves; ... @OneToMany(mappedBy = "extkey") @LazyCollection(LazyCollectionOption.TRUE) public List<Leaf> getLeaves() { return leaves; } ... 。。。 私人名单; .

这个问题与此类似/相关,但更具体地说,它关注的是一个非所有的
@OneToMany
关系方。给定以下映射的getter:

...
private List<Leaf> leaves;
...
@OneToMany(mappedBy = "extkey")
@LazyCollection(LazyCollectionOption.TRUE)
public List<Leaf> getLeaves() {
    return leaves;
}
...
。。。
私人名单;
...
@OneToMany(mappedBy=“extkey”)
@LazyCollection(LazyCollectionOption.TRUE)
公共列表getLeaves(){
还叶;
}
...
在这种情况下,向
leaves
字段添加
transient
修饰符会有什么影响?


关系是惰性的且“反向的”,即拥有方是
Leaf
object。代码以前是可以工作的,现在看起来仍然可以工作,但我想知道是否有任何不希望的细微副作用,因为
transient
在JPA上下文中有一些特殊性。我需要这样做,因为将实体实例传递给外部Gson库会循环和
stackoverflow
,我想双向关系会创建一个循环,我可以避免它。谢谢

反序列化实体时会产生影响,因为序列化后对象状态将不同


无论如何,您没有指定需要此修饰符的原因。

影响将在您反序列化实体时发生,因为序列化后对象状态将不同


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

我添加了原因,遗憾的是我无法控制该库,所以这与meNo无关,您没有。我重读了你的问题,没有提到你为什么需要transient。“我需要这个,因为将实体实例传递给外部Gson库会循环和堆栈溢出[…]”你认为不清楚吗?是的,不清楚。什么是Gson lib?什么堆栈溢出错误?为什么瞬变能解决这个问题?听起来您需要类似于
@JsonIgnore
的东西。如果gson中没有这样的注释,您可以使用纯瞬态、@Expose and excludeFieldsWithoutExposeAnnotation()或ExcludeStrategy来完成。有一点时间,第一个是最容易选择的。我补充了原因,遗憾的是我无法控制这个自由,所以这与美诺无关,你没有。我重读了你的问题,没有提到你为什么需要transient。“我需要这个,因为将实体实例传递给外部Gson库会循环和堆栈溢出[…]”你认为不清楚吗?是的,不清楚。什么是Gson lib?什么堆栈溢出错误?为什么瞬变能解决这个问题?听起来您需要类似于
@JsonIgnore
的东西。如果gson中没有这样的注释,您可以使用纯瞬态、@Expose and excludeFieldsWithoutExposeAnnotation()或ExcludeStrategy来完成。有一点时间,第一个是最容易选择的