との完全なエンティティを取得します。私は、エンティティのリビジョンを取得するには、以下を使用していますHibernateのenvers
エンティティを完全に埋めたい場合は、非監査値を手動でマージする必要がありますか?
との完全なエンティティを取得します。私は、エンティティのリビジョンを取得するには、以下を使用していますHibernateのenvers
エンティティを完全に埋めたい場合は、非監査値を手動でマージする必要がありますか?
Hibernate Enversは、インスタンスを監査履歴テーブルのデータで作成します。これに対する唯一の例外は、関連付けが監査されず、関連するエンティティがメインテーブルから取得されることを意味している場合です。
次のエンティティ定義持っていたのであれば:
@Entity
public class SimpleEntity {
@Id
@GeneratedValue
private Integer id;
private String data1;
@Audited
private String data2;
...
}
をEnversから返されたインスタンスにのみid
とdata2
フィールドを埋めているだろう。フィールドがEnversによって監査されるように指定されていないため、data1
の値はnullになります。
実在するエンティティがある場合は、既存の状態と何らかの形で監査状態をマージする必要があります。
ありがとう、それは私がやったことでした、手動で完全なエンティティを取得するためにマージします。 – LoneWolf
監査されていないフィールドがnullではないという印象を与えますか? – Naros