Hi,

 

Using JPA 2.1, I have been trying without luck to call a function that returns a REF CURSOR containing RECORD TYPES.

Is there a way of doing this?

 

One Example of trying:

Query query = em.createNativeQuery("select my_package.my_function from dual");
Object a = query.getSingleResult();

 

I have also tried to use the StoredProcedureQuery though this does not look like it can return the functions value.

 

Produced

org.springframework.orm.jpa.JpaSystemException: No Dialect mapping for JDBC type: -10; nested exception is org.hibernate.MappingException: No Dialect mapping for JDBC type: -10
  at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:244)
  at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:155)
  at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:417)
  at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:59)
  at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:213)
  Truncated. see log file for complete stacktrace
Caused By: org.hibernate.MappingException: No Dialect mapping for JDBC type: -10
  at org.hibernate.dialect.TypeNames.get(TypeNames.java:87)
  at org.hibernate.dialect.TypeNames.get(TypeNames.java:118)
  at org.hibernate.dialect.Dialect.getHibernateTypeName(Dialect.java:653)
  at org.hibernate.loader.custom.JdbcResultMetadata.getHibernateType(JdbcResultMetadata.java:93)
  at org.hibernate.loader.custom.ScalarResultColumnProcessor.performDiscovery(ScalarResultColumnProcessor.java:62)
  Truncated. see log file for complete stacktrace

 

Thanks,

Graeme

FacebookTwitterLinkedin
Pin It
Joomla Tutorials for Beginners