私は3つのエンティティを持っています。それらは以下のとおりです。これらの3つのエンティティでエンティティ関係が直接的でない場合、休止状態を使用して複数のテーブルに参加する方法はありますか?
@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;
}
私は、SQL以下を実行したいと思います。この場合
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'
はAccount
エンティティは、直接Organization
エンティティとは関係ありません。 Account
エンティティの関係はBook
です。 hibernate criteria動的クエリを使用してこれをどのように達成できますか?
?これは 'criteria.createCriteria(" book "、" b ");' 'criteria'オブジェクトが初期化される行です。 – seal
申し訳ありませんが、私はaccountCriteriaを意味しました。私の回答は – jpprade
です。私もそれを理解しています。 :) – seal