### Question:
PostgreGenDialect extends StandardGenDialect { @Override public SqlType getSqlType(ValueTypeProvider valueTypeProvider, PropertyMeta propertyMeta) { if (propertyMeta.isLob()) { if (propertyMeta.getPropertyClass() == String.class) { return getSqlTypeInternal(Types.CLOB); } } ValueType valueType = valueTypeProvider.provide(propertyMeta); return getSqlTypeInternal(valueType.getSqlType()); } PostgreGenDialect(); @Override String getName(); @Override SqlType getSqlType(ValueTypeProvider valueTypeProvider,
            PropertyMeta propertyMeta); @Override String getDefaultSchemaName(String userName); @Override GenerationType getDefaultGenerationType(); @Override boolean supportsSequence(); @Override String getSequenceDefinitionFragment(String dataType,
            long initialValue, int allocationSize); @Override String getIdentityColumnDefinition(); @Override boolean isTableNotFound(Throwable throwable); @Override boolean isColumnNotFound(Throwable throwable); @Override boolean isSequenceNotFound(Throwable throwable); @Override SqlBlockContext createSqlBlockContext(); @Override boolean supportsIdentityInsert(); @Override boolean supportsIdentity(); @Override String getSequenceNextValString(String sequenceName,
            int allocationSize); @Override boolean supportsCommentInCreateTable(); @Override boolean supportsCommentOn();  }### Answer:
@Test public void testGetSqlType_integer() throws Exception { SqlType type = dialect.getSqlType(Types.INTEGER); assertEquals("serial", type.getDataType(10, 0, 0, true)); assertEquals("integer", type.getDataType(10, 0, 0, false)); }
@Test public void testGetSqlType_bigint() throws Exception { SqlType type = dialect.getSqlType(Types.BIGINT); assertEquals("bigserial", type.getDataType(10, 0, 0, true)); assertEquals("bigint", type.getDataType(10, 0, 0, false)); }
@Test public void testGetSqlType_clob() throws Exception { SqlType type = dialect.getSqlType(Types.CLOB); assertEquals("text", type.getDataType(10, 0, 0, false)); }
@Test public void testGetSqlType_blob() throws Exception { SqlType type = dialect.getSqlType(Types.BLOB); assertEquals("oid", type.getDataType(10, 0, 0, false)); assertEquals(PostgreGenDialect.PostgreBlobType.class, type.getClass()); }
@Test public void testGetSqlTypeWithPropertyMeta() throws Exception { ValueTypeProviderImpl valueTypeProvider = new ValueTypeProviderImpl( new PostgreDialect()); PropertyMeta propertyMeta = propertyMetaFactory.createPropertyMeta( getClass().getDeclaredField("lob"), new EntityMeta()); SqlType sqlType = dialect.getSqlType(valueTypeProvider, propertyMeta); assertEquals("text", sqlType.getDataType(10, 0, 0, false)); }