Joined: Fri Oct 08, 2004 12:43 pm Posts: 8 Location: California
|
I was greatly disturbed when I read on page 200 that CLOB and BLOB properties only exist in the scope of a transaction!
Does this imply that properties that are serialized Java Objects (that is they have no UserType and are Serializable) and therefore could be mapped to either a BLOB or VARBINARY, can't be used outside of a transaction if they are mapped to either? Or is it only if they are mapped to VARBINARY they are useable in detached objects?
Does it also imply that large String can be used in detached objects if it is of type VARCHAR but not if it is of type CLOB?
And why can't they be used outside of the transaction scope? Is the vendor's JDBC doing something tricky with them like only retrieving portions of the CLOB or BLOB as it's traversed/read?
This is a very serious issue for me in that I have an XML application where I'm trying to 1) hold onto the original XML in a CLOB and 2) the digested DOM in a BLOB (by having a property that uses a Serializable DOM Wrapper class). Do I have to perform the serialization/deserialization myself when accessing the tuple? Or should I be using VARCHAR and VARBINARY respectively?
It is also possible that I could work with the containing object within the scope of a transaction but I don't want to needlessly restrict myself.
The database that will be used is DB2 but I need to know the general solution as well.
Jerome Dayton-
|
|