当前位置: 首页 > 面试题库 >

如何使用LEFT OUTER JOIN创建JPA查询

习华灿
2023-03-14
问题内容

我开始学习JPA,并已基于我在SQL Server中测试的以下本机SQL实现了JPA查询示例:

SELECT f.StudentID, f.Name, f.Age, f.Class1, f.Class2 
FROM Student f 
    LEFT OUTER JOIN ClassTbl s ON s.ClassID = f.Class1 OR s.ClassID = f.Class2
WHERE s.ClassName = 'abc'

通过上面的SQL,我构造了以下JPQL查询:

SELECT f FROM Student f LEFT JOIN f.Class1 s;

如您所见,我仍然缺少OR s.ClassID = f.Class2原始查询中的条件。我的问题是,如何将其放入JPQL?


问题答案:

写这个;

 SELECT f from Student f LEFT JOIN f.classTbls s WHERE s.ClassName = 'abc'

因为您的学生实体与ClassTbl实体具有一对多关系。



 类似资料:
  • 问题内容: 我有以下四个表: SCHEDULE_REQUEST表: ID,APPLICATION_ID(FK) 应用表: ID,代码 USER_APPLICATION表: APPLICATION_ID(FK),USER_ID(FK) 用户表: ID,NAME 现在,我想创建一个条件条件,以便为指定的用户ID 选择。 我有以下代码: 您能帮我如何将查询过滤器传递给关系对象吗?我认为我在 “ appl

  • 我有一个整数参数。我需要编写一个定制的Spring JPA查询,其中等效的SQL是<(1,2)中的code>和x.propertyStatuid。 我在SpringDataJPA文档中看到关键字是“in”,如

  • 我有下面的查询,其中两个表连接在非主列上。该表连接到一个公用列上。 用户详细信息 如何在JPA规范中实现相同的查询

  • 我想使用HiberNate/JPA在MySQL中创建这样的表。 SENSOR_DATA将包含来自多个传感器的读数。然后我想有一个使用此查询的方法: 它将返回每天“值”的平均值数组(带有日期和sensor_name)。 现在我知道我必须用@Entity为SENSOR创建一个模型,但SENSOR_DATA呢? 到目前为止,我试图创建一个简单的模型、存储库和服务,其中包含日期、时间和值,然后进行查询,但

  • 汽车实体 保留实体 非常感谢你的帮助。

  • 问题内容: 我正在使用Spring Data JPA进行项目。我在数据库中有一个表作为my_query。 我想创建一个将字符串作为参数的方法,然后将其作为数据库中的查询执行。 方法: 例如,当我通过 那么它应该在数据库级别运行该查询。 存储库类如下。 但是,它没有按我预期的那样工作。它给出以下错误。 还有什么其他方法可以实现这个目标。提前致谢 问题答案: 您可以参数化的唯一部分是在子句中使用的值。