Você terá que implementar um
org.hibernate.usertype.CompositeUserType
que lê isso do JDBC em um objeto Java. Você pode então usar o tipo Java em seus modelos. De acordo com a documentação do driver Oracle JDBC, o tipo Java terá que implementar o
java.sql.SQLData
interface:https://docs.oracle.com/javase/tutorial /jdbc/basics/sqlcustommapping.html
Você pode então usar
java.sql.ResultSet#getObject(int, java.util.Map<java.lang.String,java.lang.Class<?>>)
no tipo de usuário para extrair o tipo de objeto do conjunto de resultados e java.sql.ResultSet#setObject(int, Object)
para defini-lo em uma declaração preparada.