gpt4 book ai didi

java - 为序列化设置一个 transient 字段,但为 JPA 设置非 transient 字段

转载 作者:行者123 更新时间:2023-11-30 04:25:40 32 4
gpt4 key购买 nike

问题:
是否有可能有一个字段被 JPA 保留但被序列化跳过?

可以实现相反的效果(JPA 跳过字段而序列化则不会),如果使用此功能,那么相反的操作肯定会很有用。

类似这样的事情:

@Entity 
class MyClass {
// Other fields.

@NonTransient
private transient String strangeField;
}

我问这个问题主要是出于好奇,所以我没有具体的背景。

最佳答案

一种选择是使用实体的属性访问。然后,将该字段标记为 transient 。 JPA 将忽略该字段并仅使用 getter。因此,序列化会跳过该字段,而 JPA 使用 getter。

@Entity(AccessType.Property)
class MyClass {
// Other fields.

private transient String strangeField;

public String getStrangeField() {
return strangeField;
}

public void setStrangeField(String strangeField) {
this.strangeField = strangeField;
}
}

关于java - 为序列化设置一个 transient 字段,但为 JPA 设置非 transient 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15914546/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com