We got a problem with the mapping of oracle sdo data:
java.lang.IllegalArgumentException: holes must not contain null elements
When we execute validation in oracle, we get a result which is depending on the tolerance, for instance 0.1:
select SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT(coordinate.shape, 0.1)
GEOPORTAL.coordinate coordinate ;
results in a ORA-13356 error, while 0.0000005 results in 'TRUE'
Now I got a bit further with the issue:
It seems that the data we work with has been imported by an oracle import tool which fails to recognize multi polygons and labels them as polygons.
So knowing that, is was easy to patch hibernate spatial for a workaround:
In class SDOGeometryValueExtractor add the following code snippet at line 236 (or just before the 'return getGeometryFactory().createPolygon(shell, holes);' statement)
for (LinearRing hole:holes)
if (hole == null)
return convertSDOMultiPolygon(dim, lrsDim, SDOGeom);