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

Теперь я хочу получить все эти ток, которые не имеют никаких тегов. Я написал следующую HQL, но это не работает.

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

Что я делаю, чтобы получить эти записи. В мире SQL я бы написал запрос, который получит все отдельные TextIDS из таблицы Text_Tag_Reln и получите все имеющиеся идентификаторы, которые не присутствуют в этом наборе. Как я могу сделать это в HQL?

Это было полезно?

Решение

Ты пробовал

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

Смотрите также:

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top