I am currently developing a J2EE service. I am interacting with ORACLE, its XMLType and HIBERNATE. The lesson for today is that using USERTYPE requires you to specify it as the column type property in the HBM document.
You also need to make sure your USERTYPE class support all the variations on the RESAULTSET in (e.g. In mysql pass it as String)