Spring Boot - не удалось получить доступ к объекту OracleSpatial Connection из PreparedStatement

Я использую Spring Boot 2.0.1, hibernate-spatial 5.2.17, Oracle DB 12c. HikariCP для пула подключений и диалекта гибернации как OracleSpatial10gDialect. Я получаю следующее исключение, когда в моем запросе используются пространственные функции гибернации.

org.springframework.orm.jpa.JpaSystemException: java.lang.RuntimeException: не удалось получить доступ к объекту OracleSpatial Connection из PreparedStatement.; вложенным исключением является org.hibernate.HibernateException: java.lang.RuntimeException: не удалось получить доступ к объекту OracleSpatial Connection из PreparedStatement.

Я попробовал предложения отсюда Не удалось получить доступ к OracleSpatial Объект соединения из PreparedStatement . Но столкнулся с той же проблемой.

Любые указатели на решение будут очень полезны. Спасибо.


person rahul    schedule 05.10.2018    source источник


Ответы (1)


Из документации по спящему режиму: https://docs.jboss.org/hibernate/orm/5.4/userguide/html_single/Hibernate_User_Guide.html

Интерфейс ConnectionFinder Я решил проблему:

  • реализация интерфейса org.geolatte.geom.codec.db.oracle.ConnectionFinder;

    открытый класс CustomConnectionFinder реализует ConnectionFinder { @SneakyThrows @Override public Connection find(Connection connection) { return ((HikariProxyConnection) connection).unwrap(OracleConnection.class); } }

  • Настройка application.yml:

    spring: jpa: свойства: hibernate: диалект: org.hibernate.spatial.dialect.oracle.OracleSpatial10gDialect пространственный: connection_finder: it.dedagroup.slim.data.domain.CustomConnectionFinder

person Riccardo Vagelli    schedule 25.03.2020