Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java EclipseLink查询中多个联接的组合_Java_Sql_Jpa_Join_Eclipselink - Fatal编程技术网

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的灵感!