Spring data JPA-Spezifikationen - @OneToMany Abhängigkeit
ich habe ein problem mit immer Liste von entity Person mit Spring data JPA-Spezifikationen (wegen Seitenumbruch). Ich brauchen, um alle Hinweise zu person, aber die Abhängigkeit zwischen diesen beiden Entitäten Person Seite. Ich weiß nicht, wie mein Prädikat, da Hinweis nicht enthalten, das Attribut, das Verwandte zu Person.
Habe ich einfach bekommen kann Liste mit den Personen, die getter-aber ich kann nicht Weg, weil ich brauche die zurückgegebenen Daten in Seiten unterteilt.
@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;
}
Normalerweise würde ich etwas schreiben wie dieses, aber ich habe nicht ein Attribut person im Hinweis-und Datenbank kann nicht neu zugeordnet werden, in diesem Stadium.
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);
}
};
}
Danke,
Zdend
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gelöst..
@ManyToOne Person person;
in Ihrem Hinweis-Klasse, so dann können Sie mit einem einfachen Join.Ich bin nicht sicher, wie zu tun, dass mit Prädikaten, wie ich in der Regel nicht mit Ihnen, aber in JPQL (oder HQL, die vergleichbar ist), können Sie etwas wie das hier tun:
Es ist im Grunde die gleiche Sache zu tun, als dies in SQL
Ich wage eine Vermutung, dass das Prädikat Methode hat ähnliche Fähigkeiten wie oben beschrieben.