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

Odpovedet emailem