hibernate.hbm2ddl.auto = validate:Postgres。 abu_user中uuid的列类型错误。找到:bpchar,预计:char(32)

时间:2015-05-26 10:04:33

标签: java hibernate postgresql hibernate-mapping

我有一个有点奇怪映射的项目:

<class name="com.xxx.yyy.User" table="abc_user">
    <id name="uuid" type="string">
        <column name="uuid" not-null="true" sql-type="char(32)"/>
        <generator class="assigned"/>
    </id>

映射正在通过Oracle和Microsoft SQL的验证,但Postgres失败,但有例外:

  

ucid的abc_user中的列类型错误。发现:bpchar,预计:   炭(32)

我看到了原因(Postgres内部将char类型转换为bpchar)。但是不知道如何修复它,因为hibernate映射用于Oracle,Postgres&amp; MS SQL数据库。所以我无法改变映射。

我认为我必须在方言级别修改它(就像我为Oracle方言所做的那样)

registerColumnType( Types.LONGVARCHAR, "clob" );

但是这种方法不适用于Types.CHAR(它是char(1)的别名)。

欢迎任何想法:)

0 个答案:

没有答案