Я пытаюсь сохранить JGeometry в базе данных Oracle со следующим кодом:
@PersistenceContext
private EntityManager entityManager;
...
Session session = entityManager.unwrap(Session.class);
session.doWork(new Work() {
@Override
public void execute(Connection connection) throws SQLException {
PreparedStatement ps = connection.prepareStatement("UPDATE SAMPLE_AREA SET GEOMETRY=? WHERE ID = " + sampleAreaId + " AND SAMPLE_ID = " + sampleId);
System.out.println(connection); // prints: org.hibernate.engine.jdbc.internal.proxy.ConnectionProxyHandler@321ca777[valid=true]
System.out.println(connection.getClass().getName()); // prints: com.sun.proxy.$Proxy125
STRUCT obj = JGeometry.store(jGeometry, connection);
ps.setObject(1, obj);
ps.execute();
}
});
Я получаю исключение java.lang.ClassCastException: com.sun.proxy. $ Proxy125 не может быть приведен к oracle.jdbc.OracleConnection при вызове JGeometry.store.
Как получить OracleConnection?
Я использую "hibernate.dialect = org.hibernate.dialect.Oracle10gDialect "