JPA / Hibernate Mapowanie OneToMany przy użyciu złożonego PrimaryKey

Obecnie zmagam się z odpowiednimi adnotacjami mapowania dla scenariusza wykorzystującego złożoną klasę kluczy podstawowych. Po pierwsze, co próbuję osiągnąć słowami:

Mam 2 klasy: grupę i FieldAccessRule. Grupa może mieć wiele reguł FieldAccessRule, podczas gdy FieldAccessRule ma tylko jedną grupę. Modling to nie jest jak dotąd problem (uproszczony):

public class Group{
    ...
    @OneToMany(mappedBy = "group")
    private Set<FieldAccessRule> fieldAccessRules;
    ... 
}

a dla FieldAccessRule:

public class FieldAccessRule {
    ...
    @ManyToOne
    @JoinColumn(name = "group_id")
    private Group group;
    ...
}

Teraz zdecydowałem się użyć Composite PK dla FieldAccessRule, ponieważ reguła powinna być unikalna dla ONE Group i ONE Field. To wygląda tak:

@Embeddable
public class FieldAccessRulePK implements Serializable{
    private String fieldKey;
    private Group group;
    ...
}

I ofc. FieldAccessRule musi zostać zmieniony na

public class FieldAccessRule {
    ...
    @EmbeddedId
    private FieldAccessRulePK fieldAccessRulePK;
    ...
}

Jak teraz utworzyć odpowiednie mapowanie dla FieldAccessRuleSet grupy? Robiąc to w ten sposób, otrzymuję:

W atrybucie „fieldAccessRules” wartość „grupa” „odwzorowana przez” nie może zostać rozpoznana jako atrybut> jednostki docelowej.

Jaki jest właściwy sposób tworzenia mapowania z grupy na część A PrimaryKey?

Edytuj: Wiem, że się dowiedziałem, że używam

public class Group{
    ...
    @OneToMany(mappedBy = "fieldAccessRolePK.group")
    private Set<FieldAccessRule> fieldAccessRules;
    ... 
}

działa DOKŁADNIE zgodnie z oczekiwaniami. Kompiluje się dobrze, tworzy porządek DB i po załadowaniu grupy z predefiniowanymi Role są dostępne zgodnie z oczekiwaniami.

Jednak Eclipse wciąż mówi

W atrybucie „fieldAccessRules” wartość „mapowane przez” „fieldAccessRulePK.group” nie może zostać rozpoznana jako atrybut jednostki docelowej.

Nie jestem pewien, czy dobrze jest zignorować błąd i „założyć”, że wszystko jest w porządku ... (znalazłem post, w którym powiedziano, że mapowanie wzorca attr1.attr2 jest obsługiwane przez Hibernate, ale nie przez JPA). )

questionAnswers(2)

yourAnswerToTheQuestion