JSP 開發(fā)之hibernate的hql查詢多對(duì)多查詢
JSP 開發(fā)之hibernate的hql查詢多對(duì)多查詢
在hibernate的hql查詢中,假如說分組信息與試題是多對(duì)多關(guān)系,那么我們要在hql查詢中對(duì)含有多個(gè)分組信息的試題都要查詢出來。并同時(shí)查詢出相應(yīng)試題的分組信息。那么此時(shí)hql要這樣寫:
String[] groupIds = ojbects[1].toString().split(","); String hql = "SELECT distinct a.id FROM TmEduExamContent a"; if(!"".equals(groupIds[0])){ hql += " join a.groups as b "; } hql += "and ( "; for(int i=0;i<groupIds.length;i++){ hql += "b.id="+groupIds[i] + " "; if(i != groupIds.length-1){ hql += "or "; } } hql += ") ";
附上多對(duì)多配置:
引用
<set name="groups" table="TM_EDUCATION_CONTENT_GROUP" outer-join="false"> <key column="CONTENT_ID" /> <many-to-many class="com.gd.po.ClassicCasesGroup" column="GROUP_ID" /> </set> <set name="modelContents" table="TM_MODELCONTENT_GROUP" outer-join="false"> <key column="GROUP_ID" /> <many-to-many class="com.gd.po.TmEduExamModelContent" column="MODELCONTENT_ID" /> </set>
如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
SpringBoot升級(jí)指定jackson版本的問題
這篇文章主要介紹了SpringBoot升級(jí)指定jackson版本,本文給大家分享了漏洞通告及修改Springboot中jackson版本的問題,需要的朋友可以參考下2022-08-08Java數(shù)據(jù)結(jié)構(gòu)之鏈表、棧、隊(duì)列、樹的實(shí)現(xiàn)方法示例
這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)之鏈表、棧、隊(duì)列、樹的實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了Java數(shù)據(jù)結(jié)構(gòu)中鏈表、棧、隊(duì)列、樹的功能、定義及使用方法,需要的朋友可以參考下2019-03-03SpringBoot 如何自定義項(xiàng)目啟動(dòng)信息打印
這篇文章主要介紹了SpringBoot 如何自定義項(xiàng)目啟動(dòng)信息打印方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09Java自定義實(shí)現(xiàn)equals()方法過程解析
這篇文章主要介紹了Java自定義實(shí)現(xiàn)equals()方法過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02StateMachine 狀態(tài)機(jī)機(jī)制深入解析
這篇文章主要介紹了,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08說明Java的傳遞與回調(diào)機(jī)制的代碼示例分享
這篇文章主要介紹了說明Java的傳遞與回調(diào)機(jī)制的代碼示例分享,傳遞與回調(diào)機(jī)制是Java入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-09-09