Java EclipseLink查询中多个联接的组合
目前,我使用一个查询从输入字符串中筛选姓名/姓名/职位,来选择多个人Java EclipseLink查询中多个联接的组合,java,sql,jpa,join,eclipselink,Java,Sql,Jpa,Join,Eclipselink,目前,我使用一个查询从输入字符串中筛选姓名/姓名/职位,来选择多个人 list = dao.loadQuery("SELECT b FROM person b JOIN b.positionList pl WHERE b.forename LIKE '%" + input + "%' OR b.name LIKE '%" + input + "%' OR pl.name Like '%" + input + "%'"); 现在,我对如何添加功能来过滤一个人的特定技能感到困惑。这样做很容易,但我
list = dao.loadQuery("SELECT b FROM person b JOIN b.positionList pl WHERE b.forename LIKE '%" + input + "%' OR b.name LIKE '%" + input + "%' OR pl.name Like '%" + input + "%'");
现在,我对如何添加功能来过滤一个人的特定技能感到困惑。这样做很容易,但我需要两种连接,这样用户就可以搜索具有提供的姓名/姓名/职位/技能的人员
先谢谢你
解决方案:
list = dao.loadQuery("SELECT b FROM person b JOIN b.positionList pl JOIN b.skillListe sl WHERE b.forename LIKE '%" + input + "%' OR b.name LIKE '%" + input + "%' OR pl.name Like '%" + input + "% OR sl.name Like '%" + input + "%'");
现在还不清楚你在寻找什么,也不清楚为什么从你所拥有的东西来看会更困难。你能不能不只是加入技能,因为你必须的立场?我觉得现在相当愚蠢。只需添加另一个“JOIN b.skillList sl”就可以了。不要问我为什么思想太复杂。谢谢@Chris的灵感!