Hali!
JPQL
Van ket tablam pix(kepek) es picture_categories(kep kategoriak), amik sok-sok kapcsolatban vannak egymassal, egy 3. (pix_categories) kapcsolotabla segitsegevel.
Igy kerdezem le azokat a kepeket (pix) amik nincsenek kategoriakhoz(picture_categories) rendelve:
select pix.id as id12_, pix.filename as filename12_ from pix pix where pix.id not in (select pix_categories.pic_id from pix_categories)
Ennek a lekerdezesnek kellen megalkotnom a JPQL-es valtozatat. (ehhez kernem egy nalam hozzaertobb segitseget :) )
Igy nez ki a Pix entitas(ami a kepeket tarolja) kapcsolodo resze:
@JoinTable(name = "pix_categories",
joinColumns=@JoinColumn(name = "pic_id"),
inverseJoinColumns=@JoinColumn(name = "cat_id")
)
private Collection<PictureCategories> pictureCategoriesCollection;
Igy nez ki a PictureCategories(a kepek kategoriait tarolja) kapcsolodo resze:
@ManyToMany(cascade = {CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH})
@JoinTable(name = "pix_categories",
joinColumns =
@JoinColumn(name = "cat_id"),
inverseJoinColumns =
@JoinColumn(name = "pic_id"))
private Collection<Pix> pixCollection;