spring - 在具有相似 ID 的 Spring Boot 中加入没有外键的两个表

标签 spring spring-boot spring-data-jpa

这里我有两个表;两者都有 ID 作为主键。我想知道如何根据它们的 ID 在没有外键的情况下连接这些表。服务实现应该是什么,存储库中应该有什么?如何使用JOINS 编写@Query

@Entity
@Table(name = "procedures")
@JsonIgnoreProperties({ "hibernateLazyInitializer", "handler" })
public class Procedure implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "ProcedureId")
    private int id;

    @Column(name = "ProcedureName")
    private String name;
    @Column(name = "ProcedureCode")
    private String code;

    @Column(name = "ProcedureDesc")
    private String desc;
//  getters and setters
}
@Entity
@Table(name = "cliniciandescriptor")
public class CPTClinicianDescriptor {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "Id")
    private int id;

    @Column(name = "ConceptId")
    private int conceptId;

    @Column(name = "CPTCode")
    private String cptCode;

    @Column(name = "ClinicianDescriptorId")
    private int clinicianDescriptorId;


    @Column(name = "ClinicianDescriptor")
    private String clinicianDescriptor;
//  getters and setters
}

最佳答案

您可以像在 SQL 中一样使用 JOIN on 语法

例如

select p from Procedure p join CPTClinicianDescriptor c on c.id = p.id;

在此处阅读有关该主题的更多信息: https://72.services/how-to-join-two-entities-without-mapped-relationship/

关于spring - 在具有相似 ID 的 Spring Boot 中加入没有外键的两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59896488/

相关文章:

java - 实现创建时出错 - HHH000437 尝试保存一个或多个

java - 使用具有复杂条件的 JPA 实体图

spring - 回滚不适用于我的独立 Spring 应用程序

spring - 正在加载资源包: Spring

java - Autowire 在使用 Spring Boot 的 telegram 应用程序中不起作用

spring - Spring Boot with JOOQ 和 Spring Data JPA 之间的技术差异

java - Spring @async 子线程上下文 Multi-Tenancy

java - 项目中的 joda-time-2.9.9.jar 无法读取或不是有效的 ZIP 文件

java - 具有多个 In 条件的 Spring CrudRepository 查询

java - Spring Data - 覆盖某些存储库的默认方法