Java 重命名hibernate envers id和时间戳列
我正在尝试将自定义列添加到应用程序的审核中 我有一个自定义修订实体:Java 重命名hibernate envers id和时间戳列,java,sql,hibernate,jpa,Java,Sql,Hibernate,Jpa,我正在尝试将自定义列添加到应用程序的审核中 我有一个自定义修订实体: @Entity @Table(name = "REVINFO") @RevisionEntity(UserRevisionListener.class) public class UserRevEntity extends DefaultRevisionEntity { private String username; public String getUsername() { return username
@Entity
@Table(name = "REVINFO")
@RevisionEntity(UserRevisionListener.class)
public class UserRevEntity extends DefaultRevisionEntity {
private String username;
public String getUsername() { return username; }
public void setUsername(String username) { this.username = username; }
}
在持久化数据时,hibernate执行将此查询发送到数据库:
insert into REVINFO (timestamp, username, id) values (?, ?, ?)
问题是REVINFO表没有id和timestamp字段,我得到一个错误
SQLSyntaxErrorException:ORA-00904:ID:无效标识符
REVINTO表如下所示:
我可以告诉hibernate将id和时间戳分别映射到REV和REVTSTMP列吗
请帮忙,谢谢你的建议。试试这个
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
@Entity
@Table(name = "REVINFO")
@RevisionEntity(UserRevisionListener.class)
public class UserRevEntity extends DefaultRevisionEntity {
@Column(name = "USERNAME")
private String username;
@Column(name = "REV")
private Integer id;
@Column(name = "REVTSTMP")
private BigInteger timestamp;
// Make getter and setters
public String getUsername() { return username; }
public void setUsername(String username) { this.username = username; }
}
是的,你可以。使用@Column注释:谢谢,我使用了上面的代码,但是在删除了。。。扩展DefaultRevisionEntity部分。