I've been trying to test HS for Oracle features and came across a limitation which is the fact that currently HS doesn't support SDO_POINT_TYPE offering a work-around which is to store the point's coordinates as a SDO_ORDINATE_ARRAY. This limitation has a reference in the JIRA: http://www.hibernatespatial.org/jira/browse/HIBSPA-21
However this patch isn't probably the best approach although it's close to it, because making the decision based on the 2D vs 3D to decide if it's a point or a line doesn't make sense.
I've applied a slightly different version of the patch which I believe solves the problem; the approach is to check if we have more than 3 variable coordinates. If we have a single point we have at most (x,y,z) so 3 variables to define a coordinate. If we have a line we need at least 4 variables to define 2 points (x1,y1) + (x2,y2). Therefore although it's a bit crude, I've used this test as the decision process according to SDO_POINT_TYPE and SDO_ORDINATE_ARRAY.
So in the class OracleJDBCTypeFactory I have put the decision like the code below. Do you think this is an ok approach? Is is possible to make this change in the next versions of HS-oracle?