Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 重命名hibernate envers id和时间戳列_Java_Sql_Hibernate_Jpa - Fatal编程技术网

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部分。