无法在 Hibernate Envers 中更改 revinfo table 名称

Unable to change revinfo table name in Hibernate Envers

我去看了文档 (http://docs.jboss.org/envers/docs/#revisionlog) 那里写道,如果我们用 @RevisionEntity 注释一个实体,那么 Hibernate 将不会自己创建默认的 revinfo table,而是映射用@RevisionEntity 注释的实体。我仍然尝试将它的创建默认 table 命名为 revinfo 而不是自定义命名为 table 作为 RevisionTable。 以下是代码:


import javax.persistence.GeneratedValue;
import javax.persistence.Id;

import org.hibernate.envers.RevisionEntity;
import org.hibernate.envers.RevisionNumber;
import org.hibernate.envers.RevisionTimestamp;


@RevisionEntity

public class RevisionTable   {


@Id
@GeneratedValue
@RevisionNumber
private int id;

@RevisionTimestamp
private long timestamp;

public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}

public long getTimestamp() {
    return timestamp;
}

public void setTimestamp(long timestamp) {
    this.timestamp = timestamp;
}


}

我不明白我哪里出错了。由于我是Hibernate Envers的新手,如果详细解释解决方案将会有所帮助。

您的修订实体还需要包含这些注释:

@Entity
@Table(name="REVISIONS_TABLE_NAME")

它需要像任何其他实体一样由休眠扫描。请参考文档,这是在那里指定的:http://docs.jboss.org/envers/docs/