【发布时间】:2019-11-13 15:22:48
【问题描述】:
我有一个具有 MultiPolygon 和 Point 类型属性的实体;所以我正在发出一个获取请求,但这会返回一个 SerializationException。
我研究了一下,看到我要放一些注释,创建一个配置类并将对应的依赖放在pom.xml中。按照我在下面做的:
实体:
package com.zxventures.model;
@Entity
@Table(name = "pdv")
public class PDV implements Serializable {
private static final long serialVersionUID = 1L;
@Column(name="coverage_area")
@JsonSerialize(using = GeometrySerializer.class)
@JsonDeserialize(contentUsing = GeometryDeserializer.class)
private MultiPolygon coverageArea;
@Column(name="address")
@JsonSerialize(using = GeometrySerializer.class)
@JsonDeserialize(contentUsing = GeometryDeserializer.class)
private Point address;
}
配置类:
package com.zxventures.config;
@Configuration
public class JacksonConfig {
@Bean
public JtsModule jtsModule() {
return new JtsModule();
}
}
pom.xml:
<dependency>
<groupId>com.bedatadriven</groupId>
<artifactId>jackson-datatype-jts</artifactId>
<version>2.4</version>
</dependency>
异常发生:
could not deserialize; nested exception is
org.hibernate.type.SerializationException: could not deserialize
我想我遗漏了一些代码,但我无法检测到它;我想我把我看到的所有代码都放在了类似的问题中。
【问题讨论】:
-
异常的其余部分是什么?
-
@RoddyoftheFrozenPeas 请求处理失败;嵌套异常是 org.springframework.orm.jpa.JpaSystemException:无法反序列化;嵌套异常是 org.hibernate.type.SerializationException: could not deserialize] 根本原因 java.io.StreamCorruptedException: invalid stream header: 00000000
-
你好像混淆了Java序列化和JSON序列化。
-
@chrylis 不,我没有混淆;该错误仅在我反序列化那些特定类型的字段时发生......当我省略它们时,它工作得很好......这不是问题。
-
Jackson 与错误消息中的序列化类型没有任何关系。
标签: java json spring-boot geometry json-deserialization