Hibernate:識別関係の記録のないエンティティの記録を取得するためにHQLを作成するにはどうすればよいですか

StackOverflow https://stackoverflow.com/questions/3684472

質問

冬眠オブジェクトが定義されています

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;
}

タグがないすべてのsomeTexオブジェクトを取得したいと思います。次のHQLを書きましたが、機能しません。

select st from SomeText as st where st.Tags = null

これらのレコードを取得するために私は何をしますか。 SQLの世界では、Text_Tag_Relnテーブルからすべての異なるTextIDを取得し、そのセットに存在していなかったすべてのSomeTExt IDを取得するクエリを書きました。 HQLでこれを行うにはどうすればよいですか?

役に立ちましたか?

解決

やってみました

select st from SomeText as st where st.Tags is empty

参照:

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top