Переименование hibernate включает в себя столбцы id и timestamp - PullRequest
0 голосов
/ 13 декабря 2018

Я пытаюсь добавить пользовательский столбец для аудита приложения.

У меня есть пользовательский 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 и timestamp, и я получаю сообщение об ошибке

SQLSyntaxErrorException: ORA-00904: «ID»: неверный идентификатор

Таблица REVINTO выглядит следующим образом:

enter image description here

Могу ли я указать hibernate для сопоставления идентификатора и метки времени с REVи и REVTSTMP столбцы соответственно?

Пожалуйста, помогите, спасибо в advenace.

1 Ответ

0 голосов
/ 13 декабря 2018

Попробуйте это.

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; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...