db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kristian Waagan <Kristian.Waa...@Sun.COM>
Subject Re: Insert JAVA_OBJECT in embedded Derby DB
Date Fri, 04 May 2007 10:48:14 GMT
Kevin Bortis wrote:
> On 5/4/07, *Kristian Waagan* <Kristian.Waagan@sun.com 
> <mailto:Kristian.Waagan@sun.com>> wrote:
>     I'm sure someone will give you the full story, but I believe you might
>     have to serialize your objects yourself before you store them into the
>     database as BLOB/VARCHAR FOR BIT DATA (depending on the maximum size of
>     your objects, or your own preferences).
> I thought  that when using JAVA_OBJECT as a data type, Java Objects are 
> automatically serialized and deserialized in the JDBC layer. Is this false?

 From the "JDBC API Tutorial and Reference, Third Edition", 50.4.7 page 
"The type JAVA_OBJECT is used by a database whose type system has been 
extended so that it can store Java objects directly. The JAVA_OBJECT 
value may be stored as a serialized Java object, or it may be stored in 
some vendor-specific format."


"For DBMSs that support them, values of type JAVA_OBJECT are stored in a 
database table using the method PreparedStatement.setObject."

These sentences indicate that a database is not required to support 
JAVA_OBJECTs, but it may do so. I do not know of a meta-data call to 
determine this (anyone?).
Further, I have not consulted the JDBC 4.0 spec or its compliance 
requirements on this issue.

Further, the JAVA SE 6 (JDBC 4.0) API documentation states that the 
setObject(int/String,Object,int) should throw a 
SQLFeatureNotSupportedException if the specified type is not supported. 
I will check if this is true for Derby and file a Jira issue if it is not.


>     I think the JAVA_OBJECT type in Derby has been disabled, but could it
>     have been available in earlier Cloudscape releases?
>     I see comments in the code suggesting the support for JAVA_OBJECT is
>     "half-baked", so it would be nice if someone with knowledge of earlier
>     times could enlighten the rest of us :)
> Would be nice to know if the feature is disabled.
> sincerely
> Kevin

View raw message