velmi pekne dakujem za pomoc, to je presne to co som potreboval. Ivan
2009/11/25 Roman Zakutny <[email protected]>: > Ahoj, predpokladam, ze ten ManyToMany vztah mas v objekte Article. > Najjednoduchsi sposob je v tabulke ArticleCategory definovat: > > @ManyToMany(fetch = FetchType.LAZY, mappedBy = "categories") > private Set<Article> articles = new HashSet<Article>(); > > Potom staci, ked na nejakej kategorii, zavolas tento getter a Hibernate > vygeneruje dotaz, ktory Ti vrati vsetky clanky v kategorii. Je to za > predpokladu, ze Ti neprekaza tento "bidirectional" vztah. > Ak to chces napisat v HQL, tak by snad mohlo zafungovat toto: > .createQuery("from Article as a where :category in elements(a.categories)"); > .setParameter("category", categoryObject); > Roman > 2009/11/25 Ivan Polak <[email protected]> >> >> Ahojte, >> mam takyto maly problemik s hibernate. >> >> ma jednu tabulku clankov (article), ktora ma id. druhu tabulku >> kategorii clankov (article_category), ma tiez id. a mam v triede >> Article nasledovny zapis, teda pouzivam vazobnu-join tabulku >> (category_article): >> >> join tabulka category_article ma 2 stlpce - id do article a id do >> article_category. jeden clanok moze byt vo viacerych kategoriach. >> >> ..... >> @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER) >> @JoinTable(name = "CATEGORY_article", joinColumns = >> @JoinColumn(name = "ARTICLE") >> , inverseJoinColumns = @JoinColumn(name = "CATEGORY") >> ) >> @ForeignKey(name = "FK_CATEGORY_article_ARTICLE", inverseName = >> "FK_CATEGORY_article_CATEGORY") >> @NotNull >> private Set<ArticleCategory> categories = new >> HashSet<ArticleCategory>(); >> >> potrebujem napisat cez HQL dotaz, ktory mi vrati vsetky clanky v >> nejakej kategori. >> >> dakujem >> >> Ivan > >
