[ 
https://issues.apache.org/jira/browse/METAMODEL-56?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kasper Sørensen updated METAMODEL-56:
-------------------------------------

    Fix Version/s:     (was: 4.1)
                   4.2

> Make JDBC metadata about CLOB/BLOBs consistent with "convert LOBs" system 
> property
> ----------------------------------------------------------------------------------
>
>                 Key: METAMODEL-56
>                 URL: https://issues.apache.org/jira/browse/METAMODEL-56
>             Project: Metamodel
>          Issue Type: Improvement
>            Reporter: Kasper Sørensen
>            Assignee: Kasper Sørensen
>             Fix For: 4.2
>
>
> Now that we've fixed METAMODEL-54 we can finally adress this issue (raised on 
> mailing list in subject "Concern regarding 
> ColumnType.getJavaEquivalentClass()"):
> In our ColumnType enum we have the method getJavaEquivalentClass() which is 
> used to tell which java type to expect when querying a particular column. For 
> instance, of I query a VARCHAR column, I can expect a java.lang.String value.
> Now the trouble is that in our JDBC module we have a system property which 
> allows for eager loading of BLOBs and CLOBs so that they are automatically 
> read into byte-arrays and Strings respectively. This is a great utility 
> because otherwise the user has to do a lot of tedious work with inputstreams 
> etc which in most cases isn't particularly useful - in most cases you just 
> want the byte[ ] or String.
> Now the trouble is that if you turn that system property on, you get Strings 
> or byte-arrays but the column type is still CLOB/BLOB and that means that the 
> "expected equivalent Java class" is still java.sql.Clob or java.sql.Blob! If 
> you build your code to expect that, then it will eventually break because you 
> get a String or a byte-array instead.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to