当前位置: 首页 > 知识库问答 >
问题:

在Spring中使用on-JPA存储库左联接

慕容齐智
2023-03-14

我正在开发一个Spring Boot应用程序,并在我的存储库中挣扎于SQL查询。查询应该选择员工的所有ID,从来没有张贴在我的WebApp。

在MySQL Workbench中,遵循语句ist working propper和我实现了预期的结果。

SELECT e.id FROM employees e LEFT JOIN posts p ON p.owner_id = e.id WHERE p.owner_id IS NULL
@Query("SELECT e FROM employees e LEFT JOIN p.posts p ON p.owner_id = e.id WHERE p.owner_id IS NULL")
List<Employee> getEmployeeIdsNeverVoted();

我不知道如何使用“on”并定义它的路径。

共有1个答案

殷德本
2023-03-14

查询和字符串在要联接的表上看起来不一样。在查询中有'posts p',但p在字符串查询中有posts p,在查询中有e.id,但在字符串查询中有e:

SELECT e.id FROM employees e LEFT JOIN posts p ON p.owner_id = e.id WHERE p.owner_id IS NULL
@Query("SELECT e FROM employees e LEFT JOIN p.posts p ON p.owner_id = e.id WHERE p.owner_id IS NULL")
 类似资料:
  • 问题内容: 我有许多需要保留到数据库的简单对象类型。我正在使用Spring JPA来管理这种持久性。对于每种对象类型,我需要构建以下内容: 在我看来,有可能用三个基于泛型的类替换每种对象类型的多个类,从而节省了大量的样板代码。我不确定该怎么做,实际上,如果这是个好主意? 问题答案: 首先,我知道我们在这里提高了一些标准,但这已经比没有Spring Data JPA的帮助而编写的代码少得多。 其次,

  • 我突然想到,可以用三个基于泛型的类来替换每个对象类型的多个类,从而节省大量的样板代码。我不是很清楚该怎么做,事实上这是不是一个好主意?

  • 我们正在研究一个包含大量DB表的Restful项目。虽然对这些表的操作几乎相同,主要是插入/更新/删除/提取(insert/update/delete/fetch)。 我的问题是: 我们是否必须为我们创建的每一个实体(域类)创建一个存储库(扩展JpaRepository),或者,有一个选项可以为所有实体创建一个能够处理上述所有功能的GenericRepository?即为所有人提供一个单一的Gen

  • 我使用了spring data,jpa和querydsl,并学习了如何编写简单、漂亮的查询以左联接两个表。假设我有一个Project实体和一个Task实体,在Project中定义了OneToMany关系,我想做如下操作: 在JPQL中,应为: 我有一个ProjectRepository接口,它扩展了JPararePository和QuerydsLPredicateExecutor。使我能够访问方法

  • 它是否将其存储在缓存中?我有一个应用程序,但应用程序中没有任何地方。属性是提到的db详细信息。我可以通过邮递员存储数据和查询它。

  • 我刚接触Spring,不知道如何联接多个表来返回某个结果。我尝试实现一个小型库应用程序,如下所示。 我的实体类-预订,客户,预订 java-图书馆中的书籍 订票员: 预订服务类别: 预订存储库类: