How does this impact existing applications?  Would they have to convert 
LONGs to CLOBs (and LONGRAWs to BLOBs) to keep the application working?

As far as the advantage of CLOB over TEXT, if you read every character, 
which one is really faster?  I would expect TEXT to be a little faster, 
since the server side will send the characters before they are asked 
for.  By faster, I mean from the application performance point of view. :)

Could this be changed in a custom Oracle dialect?   So new 
applications/databases could perhaps use that and existing applications 
might use LONGs a bit longer via the existing Oracle dialect.

On 10/14/2011 09:22 PM, Gail Badner wrote:
> In [1], I am seeing the following type mappings:
>
> Column type: LONG ->  java.sql.Types.LONGVARCHAR ->  java.lang.String
> Column type: LONGRAW ->  java.sql.Types.LONGVARBINARY ->  byte[]
>
> org.hibernate.type.TextType is consistent with the mapping for LONG.
>
> org.hibernate.type.ImageType is consistent with the mapping for LONGRAW.
>
>  From this standpoint, the current settings are appropriate.
>
> I understand there are restrictions when LONG and LONGRAW are used and I see 
> from your other message that there is Oracle documentation for migrating to 
> CLOB and BLOB.
>
> I agree that changing column type registration as follows (for Oracle only) 
> should fix this:
>               registerColumnType( Types.VARBINARY, 2000, "raw($l)" );
>               registerColumnType( Types.VARBINARY, "blob" );
>
>               registerColumnType( Types.LONGVARCHAR, "clob" );
>               registerColumnType( Types.LONGVARBINARY, "blob" );
>
>               registerColumnType( Types.VARCHAR, 4000, "varchar2($l char)" );
>               registerColumnType( Types.VARCHAR, "clob" );
>
> Steve, what do you think? Is it too late to make this change for 4.0.0?
>
> [1] Table 11-1 of Oracle® Database JDBC Developer's Guide and Reference, 11g 
> Release 1 (11.1) 
> (http://download.oracle.com/docs/cd/B28359_01/java.111/b31224/datacc.htm#g1028145)
> [2] Hibernate Core Migration Guide for 3.5 
> (http://community.jboss.org/wiki/HibernateCoreMigrationGuide35)
> [3] Table 2-10 of Oracle® Database SQL Language Reference
> 11g Release 1 (11.1) 
> (http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/sql_elements002.htm#g195937)
>
> ----- Original Message -----
>> From: "Łukasz Antoniak"<lukasz.anton...@gmail.com>
>> To: hibernate-dev@lists.jboss.org
>> Sent: Thursday, October 13, 2011 12:50:13 PM
>> Subject: [hibernate-dev] HHH-6726 LONG and LONG RAW column types in Oracle
>>
>> Welcome Community!
>>
>> I have just subscribed to the list and wanted to discuss HHH-6726
>> JIRA
>> issue.
>>
>> Gail Badner wrote
>> (http://lists.jboss.org/pipermail/hibernate-dev/2011-October/007208.html):
>> HHH-6726 (Oracle : map TextType to clob and ImageType to blob)
>> https://hibernate.onjira.com/browse/HHH-6726
>> There have been a number of issues opened since the change was made
>> to
>> map TextType (LONGVARCHAR) 'long' and ImageType (LONGVARBINARY) to
>> 'long
>> raw'. This change was already documented in the migration notes.
>> Should
>> the mapping for Oracle (only) be changed back to clob and blob?
>>
>> HHH-6726 is caused by an issue in Oracle JDBC driver (version
>> 10.2.0.4
>> and later). This bug appears when LONG or LONG RAW columns are
>> accessed
>> not as first or last while processing SQL statement.
>>
>> I have discussed the topic of mapping TextType to CLOB and ImageType
>> to
>> BLOB (only in Oracle dialect) with Strong Liu. Reasons for doing so:
>> - Oracle allows only one LONG / LONG RAW column per table. This might
>> be
>> the most important from Hibernate's perspective.
>> - LONG / LONG RAW - up to 2 GB, BLOB / CLOB - up to 4 GB.
>> - In PL/SQL using LOBs is more efficient (random access to data).
>> LONG
>> only sequential.
>> - LONG and LONG RAW are deprecated.
>>
>> What is your opinion?
>>
>> Regards,
>> Lukasz Antoniak
>> _______________________________________________
>> hibernate-dev mailing list
>> hibernate-dev@lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/hibernate-dev
>>
>
> _______________________________________________
> hibernate-dev mailing list
> hibernate-dev@lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hibernate-dev

_______________________________________________
hibernate-dev mailing list
hibernate-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev

Reply via email to