【发布时间】:2019-05-14 14:40:40
【问题描述】:
我正在尝试将自定义列添加到应用程序的审核中。
我有一个自定义的 RevisionEntity:
@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 和时间戳字段,我得到一个错误
SQLSyntaxErrorException: ORA-00904: "ID": 无效标识符
REVINTO 表如下所示:
我可以告诉 hibernate 将 id 和 timestamp 分别映射到 REV 和 REVSTMP 列吗?
请帮忙,谢谢。
【问题讨论】:
-
是的,你可以。使用@Column 注释:docs.oracle.com/javaee/5/api/javax/persistence/Column.html