Hibernate: Как написать HQL для получения записей сущности без записей для ее идентифицирующего отношения - PullRequest
1 голос
/ 10 сентября 2010

У меня есть объекты Hibernate, определенные как

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 я написал бы запрос, который бы получал все отдельные textId из таблицы text_tag_reln и получал все идентификаторы SomeText, которых не было в этом наборе. Как я могу сделать это в HQL?

1 Ответ

1 голос
/ 10 сентября 2010

Вы пробовали

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

См. Также:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...