首页 > 解决方案 > 带有 eclipseLink 2.1 / Payara Server 5.20 的 Apache Netbeans 12.4 - 找不到指定的转换器类

问题描述

目标是将持久性与包含几何信息的类一起使用,并将此信息存储到 Oracle SDO_GEOMETRY 字段中。

使用的工具 :

如果我理解得很好,该类调用一个类转换器将 JGeometry 类型转换为 Oracle 期望的 MDSYS_SDO_GEOMETRY。看起来像 :

我使用了“eclipselink.classloader”,但似乎没有解决问题。

执行应用程序时,服务器返回此错误:

异常描述:PersistenceUnit [com.spt_adressagenumerique_war_1.0-SNAPSHOTPU] 的预部署失败。内部异常:异常 [EclipseLink-7351] (Eclipse Persistence Services - 2.7.7.payara-p3):org.eclipse.persistence.exceptions.ValidationException 异常描述: 转换器类[org.eclipse.persistence.platform.database.oracle未找到在类 [com.spt.database.Adresse] 的映射属性 [position_gps] 上指定的 .converters.JGeometryConverter] 。请确保转换器类名正确且与持久性单元定义一起存在

标签: eclipselinkpayara

解决方案


我终于找到了以下解决方案:

  1. eclipse IDE的使用2021-06
  2. 使用休眠代替eclipseLink
  3. 在hibernate.cfg.xml中使用hibernate-spatialorg.hibernate.spatial.dialect.oracle.OracleSpatial10gDialect的指示
  4. 基于 org.geolatte.geom创建几何点 Point G2D
  5. 在类定义中使用相同类型进行映射。

使用此解决方案,无需从 Oracle 安装中获取 sdoapi.jar。

谢谢,这个解决方案可能会有所帮助。


推荐阅读