Java 字段在未实现可序列化接口的情况下被序列化

Java 字段在未实现可序列化接口的情况下被序列化,java,serialization,jackson-databind,Java,Serialization,Jackson Databind,我有一个实现可序列化接口的java类。它有String、BigDecimal和其他可序列化的java预定义类型。它还包括一个自定义定义的类,该类不实现可序列化。自定义类型也被序列化为JSON 但也有警告显示使其成为瞬态或使自定义类型实现可序列化 即使类型没有实现可序列化,它是如何被序列化的?我是否应该忽略这些警告(声纳信息) 这是因为Jackson在序列化/反序列化时不使用java.lang.Serializable类型提示。Jackson可以序列化/反序列化大多数Java类型。查看com.fa

我有一个实现可序列化接口的java类。它有String、BigDecimal和其他可序列化的java预定义类型。它还包括一个自定义定义的类,该类不实现可序列化。自定义类型也被序列化为JSON

但也有警告显示使其成为瞬态或使自定义类型实现可序列化


即使类型没有实现可序列化,它是如何被序列化的?我是否应该忽略这些警告(声纳信息)

这是因为Jackson在序列化/反序列化时不使用
java.lang.Serializable
类型提示。Jackson可以序列化/反序列化大多数Java类型。查看
com.fasterxml.jackson.databind.ser.std
com.fasterxml.jackson.databind.desr.std
。如果您使用
ObjectMapper
,您可以像下面这样配置所需的功能

忽略警告取决于对象类型。例如,关于值类型序列化有一个很好的讨论


通过JSON。很明显,它要么有bug要么不在乎。那么实现Serializable在哪里有用呢?另外,为了删除警告,我在类型中添加了transient关键字,这应该很好,因为Jackson忽略了它“那么实现Serializable在哪里有用?”——例如,在使用Java标准对象序列化机制时!ObjectInputStream/ObjectOutputStream。Jackson是第三方图书馆。@StephenC所以JPA使用这种机制?我没这么说。但是