无法在 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/
我去看了文档 (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/