When I define an Entity with
@Column(name ="MYCOLLUMN", columnDefinition = "char")
And then try to overwrite the Typedescriptor like this:
public static class CarlosOracleDialect extends Oracle12cDialect {
private static final CharLikeVarchar INSTANCE = new CharLikeVarchar();
@Override protected SqlTypeDescriptor getSqlTypeDescriptorOverride(final int sqlCode) { switch (sqlCode) { case Types.CHAR: return INSTANCE; default: return super.getSqlTypeDescriptorOverride(sqlCode); } } }
My CharLikeVarChar typeDescriptor will not be used instead it will use the VarcharType Descriptor. This means I have to overwrite VARCHAR instead of CHAR which does not seem correct.
public static class CarlosOracleDialect extends Oracle12cDialect {
private static final CharLikeVarchar INSTANCE = new CharLikeVarchar();
@Override protected SqlTypeDescriptor getSqlTypeDescriptorOverride(final int sqlCode) { switch (sqlCode) { case Types.VARCHAR: return INSTANCE; default: return super.getSqlTypeDescriptorOverride(sqlCode); } } } |
|