2016-09-25 1 views
0

Ich habe ein verknüpftes Vererbungsmapping mit Diskriminatorspalte.Hibernate Envers erzeugt einen falschen Wert für den Diskriminatorwert im Falle einer verknüpften Vererbung mit der Diskriminatorspalte

Geordnete Einheit:

@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; 
    } 
} 

Kinder Einheit:

@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; 
    } 

} 

Wenn ich versuche, envers ChildEntity wintern zu beharren erzeugt eine falsche Abfrage, die plus ‚_AUD‘ für Scheidungs ​​Säule vollständig qualifizierten Namen des Kindes Klasse enthält Hier ist ein Beispiel:

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

Beachten Sie, dass v Wert für den Typ ist 'io.samples.data.jpa.domain.ChildEntity_AUD' anstelle von 'child_1'.

Eine andere Beobachtung ist, wenn ich @DicriminatorColumn von der übergeordneten Entität und @DiscriminatorValue von der untergeordneten Entität entfernt, dann funktioniert es.

Weiß jemand, wie man dieses Problem löst?

P.S. Ich verwende Hibernate 5.0.9.Final.

Antwort

1

Dies scheint ein Regressionsproblem mit Hibernate 5.x gegenüber dem mit Hibernate 4.3.11.Final beobachteten Verhalten zu sein. Ich habe eine Jira-Ausgabe HHH-11133 dieses Verhalten Problem notiert.

+0

Als Follow-up ist dies in Hibernate 5.2.3.Final behoben. – Naros

Verwandte Themen