Hibernate Objects を次のように定義しています
Class SomeText{
private Long textId;
private Set<Tag> Tags = new HashSet<Tag>();
@ManyToMany(cascade={CascadeType.PERSIST,CascadeType.MERGE })
@JoinTable(name = "text_tag_reln",
joinColumns = { @JoinColumn(name = "textId") },
inverseJoinColumns = { @JoinColumn(name = "tagId") })
public Set<Tag> getTags() {
return Tags;
}
}
Class Tag{
private long tagId;
}
タグを持たない SomeText オブジェクトをすべて取得したいと考えています。以下のHQLを書いたのですが、うまくいきません。
select st from SomeText as st where st.Tags = null
これらのレコードを取得するにはどうすればよいですか。SQL の世界では、text_tag_reln テーブルから個別のすべての textId を取得し、そのセットに存在しないすべての SomeText ID を取得するクエリを作成します。HQLでこれを行うにはどうすればよいですか?