@JsonIgnore vs @Transient -difference?

Abh*_*mar 14 java hibernate jpa jackson

哪一个用于跳过字段进行序列化和反序列化.

@JsonIgnore为什么我们应该使用它,如果@Transient也从序列化和反序列化过程中跳过该字段?

sha*_*zin 20

两者之间的明显区别在于,它@Transient被用作JPA的一部分,如果字段被标记为,则忽略字段的持久化@Transient.

其中@JsonIgnore仅用于忽略标记字段的序列化,反序列化到JSON和从JSON反序列化.

这意味着标记为的字段@JsonIgnore仍然可以保留在JPA持久性中,因为标记的字段@Transient既不会被持久化也不会被序列化,反序列化.

  • 为什么杰克逊不对@Transient字段进行反序列化? (2认同)
  • 是否有理由允许序列化但阻止持久性? (2认同)