private final SizeStrategy sizeStrategy = new SizeStrategyImpl() {
@Override
public Size resolveSize(
JdbcType jdbcType,
JavaType<?> javaType,
Integer precision,
Integer scale,
Long length) {
switch ( jdbcType.getDdlTypeCode() ) {
case Types.BIT:
// MySQL allows BIT with a length up to 64 (less the default length 255)
if ( length != null ) {
return Size.length( Math.min( Math.max( length, 1 ), 64 ) );
}
case Types.DATE:
return Size.length(10);
case Types.TIMESTAMP:
// if DATETIME(0) ... not sure show to determine this
return Size.length(19);
// if DATETIME(1) ... not sure show to determine this
return Size.length(??); // likely a different size
...
}
return super.resolveSize( jdbcType, javaType, precision, scale, length );
}
};