小编Ant*_*fan的帖子

使用@Query(本机和JPQL)的Spring Data Jpa + Spring Projections为相关实体返回null

我想要实现的是使用 JpaRepository 接口在 Spring Data Jpa 中使用 3 种不同的方法编写相同的查询:

  1. 命名方法策略。
  2. @Query 与 JPQL。
  3. @Query 原生 SQL。

在这里,您可以看到我如何使用我尝试选择的所有关系创建访问实体。

public class Visit {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "id")
    long visitId;
    LocalDateTime dateFrom;
    LocalDateTime dateTo;
    @Enumerated(EnumType.STRING)
    VisitStatus status;
    @ManyToOne(fetch = FetchType.EAGER)
    @JsonManagedReference
    Doctor doctor;
    @ManyToOne
    @JsonManagedReference
    Patient patient;
    @ManyToMany
    @JsonManagedReference
    List<Disease> diseases;
    @ManyToMany
    @JsonManagedReference
    List<MedicalService> medicalServices;
    String mainSymptoms;
    String treatment;
    String allergy;
    String addiction;
    String comment;
Run Code Online (Sandbox Code Playgroud)

我正在使用 Project Lombok 我不会复制类上方的所有注释。所以这里是实验。我创建的方法应该在给定的时间间隔内返回特定医生的所有访问。

这是我写的方法:

List<VisitView> findByDoctorIdAndStatusAndDateFromGreaterThanEqualAndDateToLessThanEqual
            (long doctorId, VisitStatus visitStatus, LocalDateTime dateFrom, LocalDateTime dateTo); …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate spring-data-jpa spring-projections

2
推荐指数
1
解决办法
2135
查看次数