Liquibase does not use sql BLOB type for blobs which become available in hsqldb since 2.0 version. In hsqldb 1.8.X, the sql type that was used for blob was: varbinary. In order to fix the problem, i've updated the hsqldb dialect used in hibernate:
public class HSQL_1_8_X_Dialect extends HSQLDialect {
public HSQL_1_8_X_Dialect() {
super();
registerColumnType(Types.BLOB, "varbinary");
registerColumnType(Types.CLOB, "varchar");
}
}
<property name="hibernate.dialect" value="com.savdev.datasource.dialect.HSQL_1_8_X_Dialect"/>
It resolved the problem. Also, I suppose liquibase should either update the currentHsqlTypeConverter
or add the new one that supports hsqldb 2.X version.
Or, as an alternative allow liquibase configuration so it could use Hibernate or other orm frameworks to convert types if defined. I think it would be the best option!