java - JPA,Spring映射多个实体

标签 java spring postgresql spring-boot hibernate-mapping

我有 3 个表“顾问”、“患者”和“诊断”。诊断将顾问和患者的属性作为外键。我想知道如何在 Spring 展示这一点。到目前为止我所拥有的是 顾问.java

   private String name;
   private String pos;
    @OneToMany(fetch = FetchType.LAZY, mappedBy = "consultant")
    private List<Diagnosis> diagnosis;

Diagnosis.java

public class Request {
    private String token;
    private String comment;
    private boolean status;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "Patient_id")
    @JoinColumn(name = "Consultant_id") //not sure about this syntax
    private Consultant consultant;
    private Patient patient;

Patient.java

 private String name;
   private int pid;
    @OneToMany(fetch = FetchType.LAZY, mappedBy = "patient")
    private List<Diagnosis> diagnosis;

请问这是怎么回事?我正在使用 postgresql。

最佳答案

如果您有 2 个实体,为什么要注释一个字段?每个关系都应该正确注释:

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "Patient_id")
private Patient patient;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "Consultant_id")
private Consultant consultant;

关于java - JPA,Spring映射多个实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59125933/

相关文章:

json - 在 Scala 代码中从 Postgresql 映射 Json 类型

c# - 从流读取时出现 Npgsql 异常,Postgres

java - 如何在 java 中编写匹配 String 和 BigInteger 的正则表达式?

java - 如何避免 Android Webview 内部错误?

Java WS 仅在 tcp/ip 监视器打开时响应

Spring Boot : Testing the Service layer

java - 没有复杂类型的 Apache CXF Soap wsdl

Spring-Boot:默认 Controller 避免加载静态资源

java - 如何使用 JDBC Appender 将错误日志保存到数据库中

ruby-on-rails - Rails 4 JSON 属性类型不适用于 Postgres