1

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

有可能达到相反的效果(JPA 跳过一个字段而序列化没有),如果使用此功能,那么反过来肯定会很有用。

像这样的东西:

@Entity 
class MyClass {
    // Other fields.

    @NonTransient
    private transient String strangeField;
}

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

4

2 回答 2

2

一种选择是在实体上使用属性访问。然后,将该字段标记为瞬态。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;
    }
}
于 2013-04-10T00:42:57.130 回答
0

您需要使用属性访问,或使用 XML 来映射实体而不是注释。

于 2013-04-10T13:46:06.457 回答