Hello
In class org.hibernate.dialect.Oracle9iDialect the following method is declared:
Code:
protected void registerCharacterTypeMappings() {
registerColumnType( Types.CHAR, "char(1 char)" );
registerColumnType( Types.VARCHAR, 4000, "varchar2($l char)" );
registerColumnType( Types.VARCHAR, "long" );
}
Refering to the Oracle documentation: http://docs.oracle.com/cd/B28359_01/server.111/b28318/datatype.htm#CNCPT012:
"Do not create tables with LONG columns. Use LOB columns (CLOB, NCLOB) instead. LONG columns are supported only for backward compatibility."
IMHO i consider this as a bug that should be changed.
Because of backward compatibility it might make sense not to modify it in this class, but introduce org.hibernate.dialect.Oracle11iDialect and make the fix there.
Thanks