0

Aの定義済みの名前のインスタンスを、エンティティBの空のコレクションとともに作成し、DBに保存しました。これはリビジョン#1です。今、私は例外にHibernate Enver:@AuditMappedByが機能していません

を取得していたクラスのすべての最初のリビジョンに

//Get revisions 
A a = auditReader.find(A.class, aId, revisions.get(0)); 

を取得するには、次のステートメントを使用プロパティを解決できませんでした:のaId_id:.B_AUDITは[B_AUDIT e__ e__からe__選択します。 aId_id =:A_IDとe__.originalId.REV.id < =:リビジョンとREVTYPE =:!delrevisiontypeと(e__.REVEND.id>:リビジョンまたは電子__ REVENDがnull)]

続いて私のクラスの詳細です

@Table(name = "A") 
@Audited 
public class A{ 
@Id 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    private int id; 
    .... 

    @OneToMany(mappedBy = "aId") 
    @AuditMappedBy(mappedBy = "aId") 
    private List<B> b; 
} 

B

@Entity 
@Table(name = "B") 
@Audited 
public class B{ 

    @Id 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    private int id; 

    private int aId; 
    ... 
} 

休止Enverバージョンと@OneToMany関係を持っています5.1.4.Final

をご支援いただきありがとうございます。

答えて

0

@OneToMany関係のoppsite側をエンティティB内にマッピングする方法を決めたと思われるからです。エンティティタイプ自体ではなく、主キー値に直接マップしました。

@Entity 
@Table(name = "B") 
@Audited 
public class B { 
    // other stuff removed for breavity 
    @ManyToOne 
    private A a; 
} 
:つまり

は、Enversはおそらく代わりに、このマッピングを期待しました

関連する問題