我们正在使用Envers同时使用Oracle和MySQL,没有任何问题。我们现在正在尝试使用PostgreSQL,但我们遇到的问题是审计表是使用REVTYPE
类型的TINYINT
列创建的。
TINYINT
。
有没有办法更改REVTYPE
的类型?
示例:
create table AUD_SomeTable (
dbId bigint not null,
...
REV integer not null,
REVTYPE tinyint,
primary key (dbId, REV)
);
修改:
问题解决了:我忘了更改Hibernate方言。
答案 0 :(得分:1)
您应该测试这是否真的是Envers问题或Hibernate问题。尝试仅使用hibernate映射具有属性byte type
的实体。如果它试图生成tinyint
列,则会出现Hibernate问题。
答案 1 :(得分:0)
我不了解有关Envers的信息,但您可以创建一个新的domain type。
CREATE DOMAIN "tinyint"
AS smallint;
您可以添加CONSTRAINS来检查例如一个积极的价值。