We were simply doing below and deserialization was taken care of for SDO_ORDINATE_ARRAY.
DecimalArrayType is coming from third party dependency.
this.registerHibernateType(2003, DecimalArrayType.class.getName());
<dependency>
<groupId>com.vladmihalcea</groupId>
<artifactId>hibernate-types-52</artifactId>
<version>2.11.1</version>
</dependency>
Fully qualified class name: com.vladmihalcea.hibernate.type.array.DecimalArrayType
And for collecting query results in Java, in our projection we were using BigDecimal[] getOrdinates(); Snapshot below for the projection.
Lastly, you can refer below doc for SDO_ORDINATE_ARRAY