2017-03-17 18 views

答えて

1

Hibernate Enversは、インスタンスを監査履歴テーブルのデータで作成します。これに対する唯一の例外は、関連付けが監査されず、関連するエンティティがメインテーブルから取得されることを意味している場合です。

次のエンティティ定義持っていたのであれば:

@Entity 
public class SimpleEntity { 
    @Id 
    @GeneratedValue 
    private Integer id; 
    private String data1; 
    @Audited 
    private String data2; 
    ... 
} 

をEnversから返されたインスタンスにのみiddata2フィールドを埋めているだろう。フィールドがEnversによって監査されるように指定されていないため、data1の値はnullになります。

実在するエンティティがある場合は、既存の状態と何らかの形で監査状態をマージする必要があります。

+0

ありがとう、それは私がやったことでした、手動で完全なエンティティを取得するためにマージします。 – LoneWolf

関連する問題