问题:
是否有可能让JPA保留字段但通过序列化跳过?为JPA创建一个字段瞬态,但JPA不是瞬态的
它可以实现相反(JPA跳过一个字段和序列化不),如果使用此功能,肯定会反过来是有用的。
事情是这样的:
@Entity
class MyClass {
// Other fields.
@NonTransient
private transient String strangeField;
}
我问大多是出于好奇,所以我没有一个具体的情境。
问题:
是否有可能让JPA保留字段但通过序列化跳过?为JPA创建一个字段瞬态,但JPA不是瞬态的
它可以实现相反(JPA跳过一个字段和序列化不),如果使用此功能,肯定会反过来是有用的。
事情是这样的:
@Entity
class MyClass {
// Other fields.
@NonTransient
private transient String strangeField;
}
我问大多是出于好奇,所以我没有一个具体的情境。
一种选择是对实体使用属性访问。然后,将该字段标记为暂时的。 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;
}
}
您需要使用属性访问权限,或者使用XML映射实体而不是注释。