Java 如何处理Hibernate无法反序列化的postgresql数据类型?

Java 如何处理Hibernate无法反序列化的postgresql数据类型?,java,hibernate,postgresql,Java,Hibernate,Postgresql,我最近开始尝试使用hibernate与数据库交互。我是按照我在网上找到的指南来设置和使用它的 在我尝试对包含postgresql数据类型(如Polygon和Pointz)的表运行查询之前,一切似乎都正常 在通过对这些postgresql数据类型的表进行反向工程生成的my.java类中,它将类型列为可序列化的 public class Activity implements java.io.Serializable { private long id; private Activit

我最近开始尝试使用hibernate与数据库交互。我是按照我在网上找到的指南来设置和使用它的

在我尝试对包含postgresql数据类型(如Polygon和Pointz)的表运行查询之前,一切似乎都正常

在通过对这些postgresql数据类型的表进行反向工程生成的my.java类中,它将类型列为可序列化的

 public class Activity  implements java.io.Serializable {


 private long id;
 private ActivityType activityType;
 private WorkflowAnalyticInstance workflowAnalyticInstance;
 private Producer producer;
 private String activityUuid;
 private Serializable spatialBounds;
 private Long startTime;
 private Long endTime;
 private Double probability;
 private float protoVersion;
 private String protoLocation;
 private Date lastModified;
 private Set anomalyToActivityMappings = new HashSet(0);
 private Set activityToEventMappings = new HashSet(0);
 private Set activityToTrackIntervalMappings = new HashSet(0);

public Activity() {
}


public Activity(long id, ActivityType activityType, WorkflowAnalyticInstance workflowAnalyticInstance, Producer producer, float protoVersion) {
    this.id = id;
    this.activityType = activityType;
    this.workflowAnalyticInstance = workflowAnalyticInstance;
    this.producer = producer;
    this.protoVersion = protoVersion;
}
public Activity(long id, ActivityType activityType, WorkflowAnalyticInstance workflowAnalyticInstance, Producer producer, String activityUuid, Serializable spatialBounds, Long startTime, Long endTime, Double probability, float protoVersion, String protoLocation, Date lastModified, Set anomalyToActivityMappings, Set activityToEventMappings, Set activityToTrackIntervalMappings) {
   this.id = id;
   this.activityType = activityType;
   this.workflowAnalyticInstance = workflowAnalyticInstance;
   this.producer = producer;
   this.activityUuid = activityUuid;
   this.spatialBounds = spatialBounds;
   this.startTime = startTime;
   this.endTime = endTime;
   this.probability = probability;
   this.protoVersion = protoVersion;
   this.protoLocation = protoLocation;
   this.lastModified = lastModified;
   this.anomalyToActivityMappings = anomalyToActivityMappings;
   this.activityToEventMappings = activityToEventMappings;
   this.activityToTrackIntervalMappings = activityToTrackIntervalMappings;
}
}
当我在包含这些数据类型的表上运行查询时,会出现以下错误:

org.hibernate.type.SerializationException:无法反序列化 位于org.hibernate.util.SerializationHelper.deserialize(SerializationHelper.java:217) 位于org.hibernate.util.SerializationHelper.deserialize(SerializationHelper.java:240) 位于org.hibernate.type.SerializableType.fromBytes(SerializableType.java:82) 位于org.hibernate.type.SerializableType.get(SerializableType.java:39) 位于org.hibernate.type.NullableType.nullablesafeget(NullableType.java:163) 位于org.hibernate.type.NullableType.nullablesafeget(NullableType.java:154) 位于org.hibernate.type.AbstractType.hydroge(AbstractType.java:81) 位于org.hibernate.persister.entity.AbstractEntityPersister.hydroge(AbstractEntityPersister.java:2096) 位于org.hibernate.loader.loader.loadFromResultSet(loader.java:1380) 位于org.hibernate.loader.loader.instanceNotYetLoaded(loader.java:1308) 位于org.hibernate.loader.loader.getRow(loader.java:1206) 位于org.hibernate.loader.loader.getRowFromResultSet(loader.java:580) 位于org.hibernate.loader.loader.doQuery(loader.java:701) 在org.hibernate.loader.loader.doQueryAndInitializeNonLazyCollections(loader.java:236)上 位于org.hibernate.loader.loader.doList(loader.java:2220) 位于org.hibernate.loader.loader.listIgnoreQueryCache(loader.java:2104) 位于org.hibernate.loader.loader.list(loader.java:2099) 位于org.hibernate.hql.classic.QueryTranslatorImpl.list(QueryTranslatorImpl.java:912) 位于org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172) 位于org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121) 在org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)上 原因:java.io.StreamCorruptedException:无效流头:30313033 位于java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:802) 位于java.io.ObjectInputStream。(ObjectInputStream.java:299) 位于org.hibernate.util.SerializationHelper$CustomObjectInputStream。(SerializationHelper.java:252) 位于org.hibernate.util.SerializationHelper.deserialize(SerializationHelper.java:209) ... 还有22个

那么,如何处理这些无法反序列化的postgres数据类型呢