MySQLデータベース(v5.5.28)のエントリに、地理空間情報(具体的には「ポイント」)を追加する必要があります。簡単なコードを使用して、作成した列「location」をJavaEJBエンティティServiceInfoの対応するプロパティにマップしようとしました。
@Column(name = "location")
private com.vividsolutions.jts.geom.Point location;
ただし、これにより次のエラーが発生します。
Exception [EclipseLink-66] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DescriptorException
Exception Description: Could not deserialize object from byte array.
Internal Exception: java.io.StreamCorruptedException: invalid stream header: 00000000
Mapping: org.eclipse.persistence.mappings.DirectToFieldMapping[location-->ServiceInfo.location]
Descriptor: RelationalDescriptor(ies.persistence.entity.ServiceInfo --> [DatabaseTable(ServiceInfo)])
at org.eclipse.persistence.exceptions.DescriptorException.notDeserializable(DescriptorException.java:1218)
at org.eclipse.persistence.mappings.converters.SerializedObjectConverter.convertDataValueToObjectValue(SerializedObjectConverter.java:72)
...
問題は、java mysqlコネクタ(v5.1.22)が地理空間情報をサポートしていないことだと思います。これは、データベースがサポートしているので私を驚かせます。誰かがこれが事実であることを確認できますか、または私が間違っている可能性があることを教えて、正しい方向に私を向けることができますか?
私はNetbeans7.2で作業しており、JDK1.7とGlassFishServer3.1.2を使用しています。