Hibernate Envers генерирует неправильное значение для значения дискриминатора в случае присоединенного наследования со столбцом дискриминатора

У меня есть объединенное сопоставление наследования со столбцом дискриминатора.

Материнская организация:

@Entity
@Audited
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(name = "type")
public abstract class ParentEntity {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    @Column(insertable = false, updatable = false)
    private String type;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }
}

Дочерняя сущность:

@Audited
@Entity
@DiscriminatorValue("child_1")
public class ChildEntity extends ParentEntity {

    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

}

Когда я пытаюсь сохранить спящий режим ChildEntity, генерирует неправильный запрос, который содержит полное имя дочернего класса плюс '_AUD' для столбца дискриминатора, вот пример:

insert 
into
    parent_entity_aud
    (revtype, type, id, rev) 
values
(?, 'io.samples.data.jpa.domain.ChildEntity_AUD', ?, ?)

Обратите внимание, что значение для типа - 'io.samples.data.jpa.domain.ChildEntity_AUD' вместо 'child_1'.

Другое наблюдение: если я удалю @DicriminatorColumn из родительской сущности и @DiscriminatorValue из дочерней сущности, тогда это сработает.

Кто-нибудь знает, как решить эту проблему?

P.S. Я использую спящий режим 5.0.9.Final.


person ako    schedule 25.09.2016    source источник


Ответы (1)


Похоже, это проблема регрессии в Hibernate 5.x по сравнению с поведением, наблюдаемым в Hibernate 4.3.11.Final. Я зарегистрировал проблему с jira HHH-11133, указав на эту проблему с поведением.

person Naros    schedule 26.09.2016
comment
В дальнейшем это исправлено в Hibernate 5.2.3.Final. - person Naros; 26.09.2016