GeeCON Prague 2014*
The moose likes Object Relational Mapping and the fly likes Hibernate, CLOBs, and ResultTransformers Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


JavaRanch » Java Forums » Databases » Object Relational Mapping
Bookmark "Hibernate, CLOBs, and ResultTransformers" Watch "Hibernate, CLOBs, and ResultTransformers" New topic
Author

Hibernate, CLOBs, and ResultTransformers

Brian Mulholland
Ranch Hand

Joined: Mar 12, 2009
Posts: 61
I have a query with a bunch of joined tables, and have traditionally used the aliasToBean result transformer for such purposes. However, requirements recently had me stick a CLOB into this bean. I am mapping it to a String (though i also tried Object and that didn't work either). The error is:

Exception:


I saw a post online (http://javatechtricks.blogspot.com/2012/12/hibernate-clob-to-string-conversion.html) about someone saying that Hibernate's result transformer chose not to work with CLOBs due to potential memory issue. But most of the time, my field really isn't going to be that large. Several Kb will be as large as it gets. He specced out a resulttransformer of his own to convert the clobs...but it doesn't work. It gives the error " com.ibm.db2.jcc.a.SqlException: [jcc][10120][11936][4.3.111] Invalid operation: Lob is closed. ERRORCODE=-4470, SQLSTATE=null" everytime i invoke getAsciiStream().

It appears that Hibernate already closed the result set or something at that point. How can I process CLOBs in my joined query that produces a hybrid bean not an entity mapped straight to the table.
 
Consider Paul's rocket mass heater.
 
subject: Hibernate, CLOBs, and ResultTransformers