Wie werden mehrere Tabellen mit Ruhezustandskriterien verknüpft, bei denen die Entitätsbeziehung nicht direkt ist?

Ich habe drei Entitäten. Jene sind

@Entity
public class Organization {
    @Id
    private long id;
    @Column
    private String name;
}
@Entity
public class Book {
    @Id
    private Long id;
    @Column
    private String name;
    @ManyToOne
    private Organization organization;
}
@Entity
public class Account  {
   @Id
   private Long id;
   @Column
   private String name;
   @ManyToOne
   private Book book;
}

n diesen drei Entities möchte ich folgendes SQL ausführen:

SELECT acc.name, acc.id
FROM account acc
JOIN book b on acc.book_id = b.id
JOIN organization org on b.organization_id = org.id
WHERE org.name = 'XYZ'

In diesem FallAccount entity hat keine Beziehung zumOrganization entity direkt.Account entity hat die Beziehung überBook. Wie kann ich dies mithilfe einer dynamischen Abfrage nach Kriterien im Ruhezustand erreichen?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage