Envers,PostgreSQL和TINYINT

时间:2012-02-22 13:15:12

标签: java postgresql hibernate-envers

我们正在使用Envers同时使用Oracle和MySQL,没有任何问题。我们现在正在尝试使用PostgreSQL,但我们遇到的问题是审计表是使用REVTYPE类型的TINYINT列创建的。

PostgreSQL不支持

TINYINT

有没有办法更改REVTYPE的类型?

示例:

create table AUD_SomeTable (
  dbId bigint not null,
  ...
  REV integer not null,
  REVTYPE tinyint,
  primary key (dbId, REV)
);

修改

问题解决了:我忘了更改Hibernate方言。

2 个答案:

答案 0 :(得分:1)

您应该测试这是否真的是Envers问题或Hibernate问题。尝试仅使用hibernate映射具有属性byte type的实体。如果它试图生成tinyint列,则会出现Hibernate问题。

答案 1 :(得分:0)

我不了解有关Envers的信息,但您可以创建一个新的domain type

CREATE DOMAIN "tinyint"
  AS smallint;

您可以添加CONSTRAINS来检查例如一个积极的价值。