2016-09-25 6 views
0

나는 discriminator 컬럼과 결합 된 상속 매핑을 가진다.Hibernate Envers는 discriminator 컬럼으로 합쳐진 상속의 경우에 discriminator 값을위한 잘못된 값을 생성한다.

부모 엔티티 :

@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이 envers를 최대 절전 모드로 유지하려고

가 판별 자 컬럼에 대한 자식 클래스 플러스 '_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. 최대 절전 모드 5.0.9를 사용하고 있습니다. 최종.

답변

1

이것은 Hibernate 4.3.11.Final에서 관찰 된 동작 대 Hibernate 5.x의 회귀 문제인 것으로 보입니다. jira 문제 HHH-11133이 문제가 발생했습니다.

+0

후속 조치로서, 이것은 Hibernate 5.2.3.Final에서 수정되었다. – Naros