HHH-9678 - Change built-in SqlTypeDescriptor impls to not auto-register themselves with SqlTypeDescriptorRegistry
This commit is contained in:
parent
c02e6c44fa
commit
f6322b5cdd
|
@ -43,7 +43,6 @@ public class BigIntTypeDescriptor implements SqlTypeDescriptor {
|
||||||
public static final BigIntTypeDescriptor INSTANCE = new BigIntTypeDescriptor();
|
public static final BigIntTypeDescriptor INSTANCE = new BigIntTypeDescriptor();
|
||||||
|
|
||||||
public BigIntTypeDescriptor() {
|
public BigIntTypeDescriptor() {
|
||||||
SqlTypeDescriptorRegistry.INSTANCE.addDescriptor( this );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -33,7 +33,6 @@ public class BinaryTypeDescriptor extends VarbinaryTypeDescriptor {
|
||||||
public static final BinaryTypeDescriptor INSTANCE = new BinaryTypeDescriptor();
|
public static final BinaryTypeDescriptor INSTANCE = new BinaryTypeDescriptor();
|
||||||
|
|
||||||
public BinaryTypeDescriptor() {
|
public BinaryTypeDescriptor() {
|
||||||
SqlTypeDescriptorRegistry.INSTANCE.addDescriptor( this );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -46,7 +46,6 @@ public class BitTypeDescriptor implements SqlTypeDescriptor {
|
||||||
public static final BitTypeDescriptor INSTANCE = new BitTypeDescriptor();
|
public static final BitTypeDescriptor INSTANCE = new BitTypeDescriptor();
|
||||||
|
|
||||||
public BitTypeDescriptor() {
|
public BitTypeDescriptor() {
|
||||||
SqlTypeDescriptorRegistry.INSTANCE.addDescriptor( this );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getSqlType() {
|
public int getSqlType() {
|
||||||
|
|
|
@ -86,10 +86,6 @@ public abstract class BlobTypeDescriptor implements SqlTypeDescriptor {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final BlobTypeDescriptor DEFAULT = new BlobTypeDescriptor() {
|
public static final BlobTypeDescriptor DEFAULT = new BlobTypeDescriptor() {
|
||||||
{
|
|
||||||
SqlTypeDescriptorRegistry.INSTANCE.addDescriptor( this );
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public <X> BasicBinder<X> getBlobBinder(final JavaTypeDescriptor<X> javaTypeDescriptor) {
|
public <X> BasicBinder<X> getBlobBinder(final JavaTypeDescriptor<X> javaTypeDescriptor) {
|
||||||
return new BasicBinder<X>( javaTypeDescriptor, this ) {
|
return new BasicBinder<X>( javaTypeDescriptor, this ) {
|
||||||
|
|
|
@ -43,7 +43,6 @@ public class BooleanTypeDescriptor implements SqlTypeDescriptor {
|
||||||
public static final BooleanTypeDescriptor INSTANCE = new BooleanTypeDescriptor();
|
public static final BooleanTypeDescriptor INSTANCE = new BooleanTypeDescriptor();
|
||||||
|
|
||||||
public BooleanTypeDescriptor() {
|
public BooleanTypeDescriptor() {
|
||||||
SqlTypeDescriptorRegistry.INSTANCE.addDescriptor( this );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getSqlType() {
|
public int getSqlType() {
|
||||||
|
|
|
@ -33,7 +33,6 @@ public class CharTypeDescriptor extends VarcharTypeDescriptor {
|
||||||
public static final CharTypeDescriptor INSTANCE = new CharTypeDescriptor();
|
public static final CharTypeDescriptor INSTANCE = new CharTypeDescriptor();
|
||||||
|
|
||||||
public CharTypeDescriptor() {
|
public CharTypeDescriptor() {
|
||||||
SqlTypeDescriptorRegistry.INSTANCE.addDescriptor( this );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -83,92 +83,84 @@ public abstract class ClobTypeDescriptor implements SqlTypeDescriptor {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static final ClobTypeDescriptor DEFAULT =
|
public static final ClobTypeDescriptor DEFAULT = new ClobTypeDescriptor() {
|
||||||
new ClobTypeDescriptor() {
|
@Override
|
||||||
{
|
public <X> BasicBinder<X> getClobBinder(final JavaTypeDescriptor<X> javaTypeDescriptor) {
|
||||||
SqlTypeDescriptorRegistry.INSTANCE.addDescriptor( this );
|
return new BasicBinder<X>( javaTypeDescriptor, this ) {
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public <X> BasicBinder<X> getClobBinder(final JavaTypeDescriptor<X> javaTypeDescriptor) {
|
protected void doBind(PreparedStatement st, X value, int index, WrapperOptions options) throws SQLException {
|
||||||
return new BasicBinder<X>( javaTypeDescriptor, this ) {
|
if ( options.useStreamForLobBinding() ) {
|
||||||
@Override
|
STREAM_BINDING.getClobBinder( javaTypeDescriptor ).doBind( st, value, index, options );
|
||||||
protected void doBind(PreparedStatement st, X value, int index, WrapperOptions options) throws SQLException {
|
}
|
||||||
if ( options.useStreamForLobBinding() ) {
|
else {
|
||||||
STREAM_BINDING.getClobBinder( javaTypeDescriptor ).doBind( st, value, index, options );
|
CLOB_BINDING.getClobBinder( javaTypeDescriptor ).doBind( st, value, index, options );
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
CLOB_BINDING.getClobBinder( javaTypeDescriptor ).doBind( st, value, index, options );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
public static final ClobTypeDescriptor CLOB_BINDING =
|
public static final ClobTypeDescriptor CLOB_BINDING = new ClobTypeDescriptor() {
|
||||||
new ClobTypeDescriptor() {
|
@Override
|
||||||
|
public <X> BasicBinder<X> getClobBinder(final JavaTypeDescriptor<X> javaTypeDescriptor) {
|
||||||
|
return new BasicBinder<X>( javaTypeDescriptor, this ) {
|
||||||
@Override
|
@Override
|
||||||
public <X> BasicBinder<X> getClobBinder(final JavaTypeDescriptor<X> javaTypeDescriptor) {
|
protected void doBind(PreparedStatement st, X value, int index, WrapperOptions options)
|
||||||
return new BasicBinder<X>( javaTypeDescriptor, this ) {
|
throws SQLException {
|
||||||
@Override
|
st.setClob( index, javaTypeDescriptor.unwrap( value, Clob.class, options ) );
|
||||||
protected void doBind(PreparedStatement st, X value, int index, WrapperOptions options)
|
|
||||||
throws SQLException {
|
|
||||||
st.setClob( index, javaTypeDescriptor.unwrap( value, Clob.class, options ) );
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
public static final ClobTypeDescriptor STREAM_BINDING =
|
public static final ClobTypeDescriptor STREAM_BINDING = new ClobTypeDescriptor() {
|
||||||
new ClobTypeDescriptor() {
|
@Override
|
||||||
|
public <X> BasicBinder<X> getClobBinder(final JavaTypeDescriptor<X> javaTypeDescriptor) {
|
||||||
|
return new BasicBinder<X>( javaTypeDescriptor, this ) {
|
||||||
@Override
|
@Override
|
||||||
public <X> BasicBinder<X> getClobBinder(final JavaTypeDescriptor<X> javaTypeDescriptor) {
|
protected void doBind(PreparedStatement st, X value, int index, WrapperOptions options)
|
||||||
return new BasicBinder<X>( javaTypeDescriptor, this ) {
|
throws SQLException {
|
||||||
@Override
|
final CharacterStream characterStream = javaTypeDescriptor.unwrap( value, CharacterStream.class, options );
|
||||||
protected void doBind(PreparedStatement st, X value, int index, WrapperOptions options)
|
st.setCharacterStream( index, characterStream.asReader(), characterStream.getLength() );
|
||||||
throws SQLException {
|
|
||||||
final CharacterStream characterStream = javaTypeDescriptor.unwrap( value, CharacterStream.class, options );
|
|
||||||
st.setCharacterStream( index, characterStream.asReader(), characterStream.getLength() );
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
public static final ClobTypeDescriptor STREAM_BINDING_EXTRACTING =
|
public static final ClobTypeDescriptor STREAM_BINDING_EXTRACTING = new ClobTypeDescriptor() {
|
||||||
new ClobTypeDescriptor() {
|
@Override
|
||||||
|
public <X> BasicBinder<X> getClobBinder(final JavaTypeDescriptor<X> javaTypeDescriptor) {
|
||||||
|
return new BasicBinder<X>( javaTypeDescriptor, this ) {
|
||||||
@Override
|
@Override
|
||||||
public <X> BasicBinder<X> getClobBinder(final JavaTypeDescriptor<X> javaTypeDescriptor) {
|
protected void doBind(PreparedStatement st, X value, int index, WrapperOptions options)
|
||||||
return new BasicBinder<X>( javaTypeDescriptor, this ) {
|
throws SQLException {
|
||||||
@Override
|
final CharacterStream characterStream = javaTypeDescriptor.unwrap( value, CharacterStream.class, options );
|
||||||
protected void doBind(PreparedStatement st, X value, int index, WrapperOptions options)
|
st.setCharacterStream( index, characterStream.asReader(), characterStream.getLength() );
|
||||||
throws SQLException {
|
|
||||||
final CharacterStream characterStream = javaTypeDescriptor.unwrap( value, CharacterStream.class, options );
|
|
||||||
st.setCharacterStream( index, characterStream.asReader(), characterStream.getLength() );
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public <X> ValueExtractor<X> getExtractor(final JavaTypeDescriptor<X> javaTypeDescriptor) {
|
|
||||||
return new BasicExtractor<X>( javaTypeDescriptor, this ) {
|
|
||||||
@Override
|
|
||||||
protected X doExtract(ResultSet rs, String name, WrapperOptions options) throws SQLException {
|
|
||||||
return javaTypeDescriptor.wrap( rs.getCharacterStream( name ), options );
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected X doExtract(CallableStatement statement, int index, WrapperOptions options)
|
|
||||||
throws SQLException {
|
|
||||||
return javaTypeDescriptor.wrap( statement.getCharacterStream( index ), options );
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected X doExtract(CallableStatement statement, String name, WrapperOptions options)
|
|
||||||
throws SQLException {
|
|
||||||
return javaTypeDescriptor.wrap( statement.getCharacterStream( name ), options );
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public <X> ValueExtractor<X> getExtractor(final JavaTypeDescriptor<X> javaTypeDescriptor) {
|
||||||
|
return new BasicExtractor<X>( javaTypeDescriptor, this ) {
|
||||||
|
@Override
|
||||||
|
protected X doExtract(ResultSet rs, String name, WrapperOptions options) throws SQLException {
|
||||||
|
return javaTypeDescriptor.wrap( rs.getCharacterStream( name ), options );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected X doExtract(CallableStatement statement, int index, WrapperOptions options)
|
||||||
|
throws SQLException {
|
||||||
|
return javaTypeDescriptor.wrap( statement.getCharacterStream( index ), options );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected X doExtract(CallableStatement statement, String name, WrapperOptions options)
|
||||||
|
throws SQLException {
|
||||||
|
return javaTypeDescriptor.wrap( statement.getCharacterStream( name ), options );
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,7 +44,6 @@ public class DateTypeDescriptor implements SqlTypeDescriptor {
|
||||||
public static final DateTypeDescriptor INSTANCE = new DateTypeDescriptor();
|
public static final DateTypeDescriptor INSTANCE = new DateTypeDescriptor();
|
||||||
|
|
||||||
public DateTypeDescriptor() {
|
public DateTypeDescriptor() {
|
||||||
SqlTypeDescriptorRegistry.INSTANCE.addDescriptor( this );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -44,7 +44,6 @@ public class DecimalTypeDescriptor implements SqlTypeDescriptor {
|
||||||
public static final DecimalTypeDescriptor INSTANCE = new DecimalTypeDescriptor();
|
public static final DecimalTypeDescriptor INSTANCE = new DecimalTypeDescriptor();
|
||||||
|
|
||||||
public DecimalTypeDescriptor() {
|
public DecimalTypeDescriptor() {
|
||||||
SqlTypeDescriptorRegistry.INSTANCE.addDescriptor( this );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -43,7 +43,6 @@ public class DoubleTypeDescriptor implements SqlTypeDescriptor {
|
||||||
public static final DoubleTypeDescriptor INSTANCE = new DoubleTypeDescriptor();
|
public static final DoubleTypeDescriptor INSTANCE = new DoubleTypeDescriptor();
|
||||||
|
|
||||||
public DoubleTypeDescriptor() {
|
public DoubleTypeDescriptor() {
|
||||||
SqlTypeDescriptorRegistry.INSTANCE.addDescriptor( this );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -34,7 +34,6 @@ public class FloatTypeDescriptor extends RealTypeDescriptor {
|
||||||
public static final FloatTypeDescriptor INSTANCE = new FloatTypeDescriptor();
|
public static final FloatTypeDescriptor INSTANCE = new FloatTypeDescriptor();
|
||||||
|
|
||||||
public FloatTypeDescriptor() {
|
public FloatTypeDescriptor() {
|
||||||
SqlTypeDescriptorRegistry.INSTANCE.addDescriptor( this );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -43,7 +43,6 @@ public class IntegerTypeDescriptor implements SqlTypeDescriptor {
|
||||||
public static final IntegerTypeDescriptor INSTANCE = new IntegerTypeDescriptor();
|
public static final IntegerTypeDescriptor INSTANCE = new IntegerTypeDescriptor();
|
||||||
|
|
||||||
public IntegerTypeDescriptor() {
|
public IntegerTypeDescriptor() {
|
||||||
SqlTypeDescriptorRegistry.INSTANCE.addDescriptor( this );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -34,7 +34,6 @@ public class LongNVarcharTypeDescriptor extends NVarcharTypeDescriptor {
|
||||||
public static final LongNVarcharTypeDescriptor INSTANCE = new LongNVarcharTypeDescriptor();
|
public static final LongNVarcharTypeDescriptor INSTANCE = new LongNVarcharTypeDescriptor();
|
||||||
|
|
||||||
public LongNVarcharTypeDescriptor() {
|
public LongNVarcharTypeDescriptor() {
|
||||||
SqlTypeDescriptorRegistry.INSTANCE.addDescriptor( this );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -34,7 +34,6 @@ public class LongVarbinaryTypeDescriptor extends VarbinaryTypeDescriptor {
|
||||||
public static final LongVarbinaryTypeDescriptor INSTANCE = new LongVarbinaryTypeDescriptor();
|
public static final LongVarbinaryTypeDescriptor INSTANCE = new LongVarbinaryTypeDescriptor();
|
||||||
|
|
||||||
public LongVarbinaryTypeDescriptor() {
|
public LongVarbinaryTypeDescriptor() {
|
||||||
SqlTypeDescriptorRegistry.INSTANCE.addDescriptor( this );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -34,7 +34,6 @@ public class LongVarcharTypeDescriptor extends VarcharTypeDescriptor {
|
||||||
public static final LongVarcharTypeDescriptor INSTANCE = new LongVarcharTypeDescriptor();
|
public static final LongVarcharTypeDescriptor INSTANCE = new LongVarcharTypeDescriptor();
|
||||||
|
|
||||||
public LongVarcharTypeDescriptor() {
|
public LongVarcharTypeDescriptor() {
|
||||||
SqlTypeDescriptorRegistry.INSTANCE.addDescriptor( this );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -34,7 +34,6 @@ public class NCharTypeDescriptor extends NVarcharTypeDescriptor {
|
||||||
public static final NCharTypeDescriptor INSTANCE = new NCharTypeDescriptor();
|
public static final NCharTypeDescriptor INSTANCE = new NCharTypeDescriptor();
|
||||||
|
|
||||||
public NCharTypeDescriptor() {
|
public NCharTypeDescriptor() {
|
||||||
SqlTypeDescriptorRegistry.INSTANCE.addDescriptor( this );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -83,54 +83,47 @@ public abstract class NClobTypeDescriptor implements SqlTypeDescriptor {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static final NClobTypeDescriptor DEFAULT =
|
public static final NClobTypeDescriptor DEFAULT = new NClobTypeDescriptor() {
|
||||||
new NClobTypeDescriptor() {
|
@Override
|
||||||
{
|
public <X> BasicBinder<X> getNClobBinder(final JavaTypeDescriptor<X> javaTypeDescriptor) {
|
||||||
SqlTypeDescriptorRegistry.INSTANCE.addDescriptor( this );
|
return new BasicBinder<X>( javaTypeDescriptor, this ) {
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public <X> BasicBinder<X> getNClobBinder(final JavaTypeDescriptor<X> javaTypeDescriptor) {
|
protected void doBind(PreparedStatement st, X value, int index, WrapperOptions options) throws SQLException {
|
||||||
return new BasicBinder<X>( javaTypeDescriptor, this ) {
|
if ( options.useStreamForLobBinding() ) {
|
||||||
@Override
|
STREAM_BINDING.getNClobBinder( javaTypeDescriptor ).doBind( st, value, index, options );
|
||||||
protected void doBind(PreparedStatement st, X value, int index, WrapperOptions options) throws SQLException {
|
}
|
||||||
if ( options.useStreamForLobBinding() ) {
|
else {
|
||||||
STREAM_BINDING.getNClobBinder( javaTypeDescriptor ).doBind( st, value, index, options );
|
NCLOB_BINDING.getNClobBinder( javaTypeDescriptor ).doBind( st, value, index, options );
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
NCLOB_BINDING.getNClobBinder( javaTypeDescriptor ).doBind( st, value, index, options );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
public static final NClobTypeDescriptor NCLOB_BINDING =
|
public static final NClobTypeDescriptor NCLOB_BINDING = new NClobTypeDescriptor() {
|
||||||
new NClobTypeDescriptor() {
|
@Override
|
||||||
|
public <X> BasicBinder<X> getNClobBinder(final JavaTypeDescriptor<X> javaTypeDescriptor) {
|
||||||
|
return new BasicBinder<X>( javaTypeDescriptor, this ) {
|
||||||
@Override
|
@Override
|
||||||
public <X> BasicBinder<X> getNClobBinder(final JavaTypeDescriptor<X> javaTypeDescriptor) {
|
protected void doBind(PreparedStatement st, X value, int index, WrapperOptions options)
|
||||||
return new BasicBinder<X>( javaTypeDescriptor, this ) {
|
throws SQLException {
|
||||||
@Override
|
st.setNClob( index, javaTypeDescriptor.unwrap( value, NClob.class, options ) );
|
||||||
protected void doBind(PreparedStatement st, X value, int index, WrapperOptions options)
|
|
||||||
throws SQLException {
|
|
||||||
st.setNClob( index, javaTypeDescriptor.unwrap( value, NClob.class, options ) );
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
public static final NClobTypeDescriptor STREAM_BINDING =
|
public static final NClobTypeDescriptor STREAM_BINDING = new NClobTypeDescriptor() {
|
||||||
new NClobTypeDescriptor() {
|
@Override
|
||||||
|
public <X> BasicBinder<X> getNClobBinder(final JavaTypeDescriptor<X> javaTypeDescriptor) {
|
||||||
|
return new BasicBinder<X>( javaTypeDescriptor, this ) {
|
||||||
@Override
|
@Override
|
||||||
public <X> BasicBinder<X> getNClobBinder(final JavaTypeDescriptor<X> javaTypeDescriptor) {
|
protected void doBind(PreparedStatement st, X value, int index, WrapperOptions options)
|
||||||
return new BasicBinder<X>( javaTypeDescriptor, this ) {
|
throws SQLException {
|
||||||
@Override
|
final CharacterStream characterStream = javaTypeDescriptor.unwrap( value, CharacterStream.class, options );
|
||||||
protected void doBind(PreparedStatement st, X value, int index, WrapperOptions options)
|
st.setCharacterStream( index, characterStream.asReader(), characterStream.getLength() );
|
||||||
throws SQLException {
|
|
||||||
final CharacterStream characterStream = javaTypeDescriptor.unwrap( value, CharacterStream.class, options );
|
|
||||||
st.setCharacterStream( index, characterStream.asReader(), characterStream.getLength() );
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,7 +43,6 @@ public class NVarcharTypeDescriptor implements SqlTypeDescriptor {
|
||||||
public static final NVarcharTypeDescriptor INSTANCE = new NVarcharTypeDescriptor();
|
public static final NVarcharTypeDescriptor INSTANCE = new NVarcharTypeDescriptor();
|
||||||
|
|
||||||
public NVarcharTypeDescriptor() {
|
public NVarcharTypeDescriptor() {
|
||||||
SqlTypeDescriptorRegistry.INSTANCE.addDescriptor( this );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -34,7 +34,6 @@ public class NumericTypeDescriptor extends DecimalTypeDescriptor {
|
||||||
public static final NumericTypeDescriptor INSTANCE = new NumericTypeDescriptor();
|
public static final NumericTypeDescriptor INSTANCE = new NumericTypeDescriptor();
|
||||||
|
|
||||||
public NumericTypeDescriptor() {
|
public NumericTypeDescriptor() {
|
||||||
SqlTypeDescriptorRegistry.INSTANCE.addDescriptor( this );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -43,7 +43,6 @@ public class RealTypeDescriptor implements SqlTypeDescriptor {
|
||||||
public static final RealTypeDescriptor INSTANCE = new RealTypeDescriptor();
|
public static final RealTypeDescriptor INSTANCE = new RealTypeDescriptor();
|
||||||
|
|
||||||
public RealTypeDescriptor() {
|
public RealTypeDescriptor() {
|
||||||
SqlTypeDescriptorRegistry.INSTANCE.addDescriptor( this );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -43,7 +43,6 @@ public class SmallIntTypeDescriptor implements SqlTypeDescriptor {
|
||||||
public static final SmallIntTypeDescriptor INSTANCE = new SmallIntTypeDescriptor();
|
public static final SmallIntTypeDescriptor INSTANCE = new SmallIntTypeDescriptor();
|
||||||
|
|
||||||
public SmallIntTypeDescriptor() {
|
public SmallIntTypeDescriptor() {
|
||||||
SqlTypeDescriptorRegistry.INSTANCE.addDescriptor( this );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -50,6 +50,40 @@ public class SqlTypeDescriptorRegistry {
|
||||||
|
|
||||||
private ConcurrentHashMap<Integer,SqlTypeDescriptor> descriptorMap = new ConcurrentHashMap<Integer, SqlTypeDescriptor>();
|
private ConcurrentHashMap<Integer,SqlTypeDescriptor> descriptorMap = new ConcurrentHashMap<Integer, SqlTypeDescriptor>();
|
||||||
|
|
||||||
|
private SqlTypeDescriptorRegistry() {
|
||||||
|
addDescriptor( BooleanTypeDescriptor.INSTANCE );
|
||||||
|
|
||||||
|
addDescriptor( BitTypeDescriptor.INSTANCE );
|
||||||
|
addDescriptor( BigIntTypeDescriptor.INSTANCE );
|
||||||
|
addDescriptor( DecimalTypeDescriptor.INSTANCE );
|
||||||
|
addDescriptor( DoubleTypeDescriptor.INSTANCE );
|
||||||
|
addDescriptor( FloatTypeDescriptor.INSTANCE );
|
||||||
|
addDescriptor( IntegerTypeDescriptor.INSTANCE );
|
||||||
|
addDescriptor( NumericTypeDescriptor.INSTANCE );
|
||||||
|
addDescriptor( RealTypeDescriptor.INSTANCE );
|
||||||
|
addDescriptor( SmallIntTypeDescriptor.INSTANCE );
|
||||||
|
addDescriptor( TinyIntTypeDescriptor.INSTANCE );
|
||||||
|
|
||||||
|
addDescriptor( DateTypeDescriptor.INSTANCE );
|
||||||
|
addDescriptor( TimestampTypeDescriptor.INSTANCE );
|
||||||
|
addDescriptor( TimeTypeDescriptor.INSTANCE );
|
||||||
|
|
||||||
|
addDescriptor( BinaryTypeDescriptor.INSTANCE );
|
||||||
|
addDescriptor( VarbinaryTypeDescriptor.INSTANCE );
|
||||||
|
addDescriptor( LongVarbinaryTypeDescriptor.INSTANCE );
|
||||||
|
addDescriptor( BlobTypeDescriptor.DEFAULT );
|
||||||
|
|
||||||
|
addDescriptor( CharTypeDescriptor.INSTANCE );
|
||||||
|
addDescriptor( VarcharTypeDescriptor.INSTANCE );
|
||||||
|
addDescriptor( LongVarcharTypeDescriptor.INSTANCE );
|
||||||
|
addDescriptor( ClobTypeDescriptor.DEFAULT );
|
||||||
|
|
||||||
|
addDescriptor( NCharTypeDescriptor.INSTANCE );
|
||||||
|
addDescriptor( NVarcharTypeDescriptor.INSTANCE );
|
||||||
|
addDescriptor( LongNVarcharTypeDescriptor.INSTANCE );
|
||||||
|
addDescriptor( NClobTypeDescriptor.DEFAULT );
|
||||||
|
}
|
||||||
|
|
||||||
public void addDescriptor(SqlTypeDescriptor sqlTypeDescriptor) {
|
public void addDescriptor(SqlTypeDescriptor sqlTypeDescriptor) {
|
||||||
descriptorMap.put( sqlTypeDescriptor.getSqlType(), sqlTypeDescriptor );
|
descriptorMap.put( sqlTypeDescriptor.getSqlType(), sqlTypeDescriptor );
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,7 +44,6 @@ public class TimeTypeDescriptor implements SqlTypeDescriptor {
|
||||||
public static final TimeTypeDescriptor INSTANCE = new TimeTypeDescriptor();
|
public static final TimeTypeDescriptor INSTANCE = new TimeTypeDescriptor();
|
||||||
|
|
||||||
public TimeTypeDescriptor() {
|
public TimeTypeDescriptor() {
|
||||||
SqlTypeDescriptorRegistry.INSTANCE.addDescriptor( this );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -44,7 +44,6 @@ public class TimestampTypeDescriptor implements SqlTypeDescriptor {
|
||||||
public static final TimestampTypeDescriptor INSTANCE = new TimestampTypeDescriptor();
|
public static final TimestampTypeDescriptor INSTANCE = new TimestampTypeDescriptor();
|
||||||
|
|
||||||
public TimestampTypeDescriptor() {
|
public TimestampTypeDescriptor() {
|
||||||
SqlTypeDescriptorRegistry.INSTANCE.addDescriptor( this );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -46,7 +46,6 @@ public class TinyIntTypeDescriptor implements SqlTypeDescriptor {
|
||||||
public static final TinyIntTypeDescriptor INSTANCE = new TinyIntTypeDescriptor();
|
public static final TinyIntTypeDescriptor INSTANCE = new TinyIntTypeDescriptor();
|
||||||
|
|
||||||
public TinyIntTypeDescriptor() {
|
public TinyIntTypeDescriptor() {
|
||||||
SqlTypeDescriptorRegistry.INSTANCE.addDescriptor( this );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -43,7 +43,6 @@ public class VarbinaryTypeDescriptor implements SqlTypeDescriptor {
|
||||||
public static final VarbinaryTypeDescriptor INSTANCE = new VarbinaryTypeDescriptor();
|
public static final VarbinaryTypeDescriptor INSTANCE = new VarbinaryTypeDescriptor();
|
||||||
|
|
||||||
public VarbinaryTypeDescriptor() {
|
public VarbinaryTypeDescriptor() {
|
||||||
SqlTypeDescriptorRegistry.INSTANCE.addDescriptor( this );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getSqlType() {
|
public int getSqlType() {
|
||||||
|
|
|
@ -43,7 +43,6 @@ public class VarcharTypeDescriptor implements SqlTypeDescriptor {
|
||||||
public static final VarcharTypeDescriptor INSTANCE = new VarcharTypeDescriptor();
|
public static final VarcharTypeDescriptor INSTANCE = new VarcharTypeDescriptor();
|
||||||
|
|
||||||
public VarcharTypeDescriptor() {
|
public VarcharTypeDescriptor() {
|
||||||
SqlTypeDescriptorRegistry.INSTANCE.addDescriptor( this );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -21,6 +21,10 @@ Working list of changes for 5.0
|
||||||
* properties loaded from cfg.xml through EMF did not previously prefix names with "hibernate." this is now made consistent.
|
* properties loaded from cfg.xml through EMF did not previously prefix names with "hibernate." this is now made consistent.
|
||||||
* removed AuditConfiguration in preference for new `org.hibernate.envers.boot.internal.EnversService`
|
* removed AuditConfiguration in preference for new `org.hibernate.envers.boot.internal.EnversService`
|
||||||
* changed AuditStrategy method parameters from (removed) AuditConfiguration to (new) EnversService
|
* changed AuditStrategy method parameters from (removed) AuditConfiguration to (new) EnversService
|
||||||
|
* Built-in `org.hibernate.type.descriptor.sql.SqlTypeDescriptor` implementations no longer auto-register themselves
|
||||||
|
with `org.hibernate.type.descriptor.sql.SqlTypeDescriptorRegistry`. Applications using custom SqlTypeDescriptor
|
||||||
|
implementations extending the built-in ones and relying on that behavior should be updated to call
|
||||||
|
`SqlTypeDescriptorRegistry#addDescriptor` themselves.
|
||||||
|
|
||||||
|
|
||||||
TODOs
|
TODOs
|
||||||
|
|
Loading…
Reference in New Issue