Hibernate HQL เปรียบเทียบสองคอลเลกชัน

ฉันมีแอป grails ที่มีออบเจ็กต์โดเมนสองรายการ ได้แก่ หนังสือ และ หมวดหมู่

หนังสือมีหลายประเภท (เช่น static hasMany = [หมวดหมู่: Category])

ฉันสามารถใช้ HQL เพื่อทำบางอย่างเช่น:

Book.findAll("select b from Book as b 
                  where b != :book any elements(b.categories) in (:categories)", 
                  [book: myBook, categories: myBook.categories])

ดูเหมือนฉันจะไม่พบตัวอย่างที่มีการเปรียบเทียบระหว่างสองคอลเลกชัน

ส่วนใหญ่ที่ฉันเคยเห็นมีเพียงคอลเลกชันเดียวเท่านั้น


person Christian    schedule 10.02.2012    source แหล่งที่มา
comment
โปรดพิจารณาทำเครื่องหมายคำถามบางข้อของคุณว่าตอบแล้ว   -  person Igor    schedule 26.03.2012


คำตอบ (1)


ลองอะไรแบบนี้

Book.findAll("Select b from Book as b join b.categories as cat where cat in (:categories)", [categories:categories])

ปรับเปลี่ยนเงื่อนไขอื่นๆ ตามความจำเป็น

person Sudhir N    schedule 11.02.2012