Spring data JPA Spécifications - @OneToMany dépendance

j'ai un problème avec l'obtention de la Liste de l'entité Personne à l'aide de Spring data JPA cahier des charges (à cause de la pagination). J'ai besoin d'obtenir toutes les notes par personne, mais la dépendance entre ces deux entités est sur la Personne de côté. Je ne sais pas comment créer mon Prédicat parce que la Note ne contient pas d'attribut relatives à la Personne.

Je ne peux obtenir la Liste avec des Personnes de lecture, mais je ne peux pas l'utiliser de cette façon parce que j'ai besoin de données retourné paginé.

@Entity
public class Person implements Serializable {

    @Id
    private Long personId;

    @OneToMany
    @JoinColumn(name = "personId")
    private List<Note> notes;

}

@Entity
public class Note implements Serializable {

    @Id
    private Long noteId;
}

Normalement, je voudrais écrire quelque chose comme cela, mais je n'ai pas un attribut de la personne dans la Note de base de données et ne peut pas être redistribué à ce stade.

public static Specification<Note> notesByPerson(final Long personId) {
        return new Specification<Note>() {
            @Override
            public Predicate toPredicate(final Root<Note> root, final CriteriaQuery<?> query,
                    final CriteriaBuilder builder) {

                final Path<Person> per = root.<Person> get("person");

                return builder.equal(per.<Long> get("personId"), personId);

            }
        };
    }

Merci,
Zdend

OriginalL'auteur Zdend | 2012-08-20