From 8bd127ac4d4bf32ed3d2ac83f0b187d2c2727b0a Mon Sep 17 00:00:00 2001 From: KKlochko Date: Tue, 7 Nov 2023 12:24:12 +0200 Subject: [PATCH] Add the relationship between the models. --- .../models/Department.java | 11 +++++++++++ .../jpa_hospital_example/models/Indicator.java | 18 ++++++++++++++---- .../jpa_hospital_example/models/Patient.java | 17 ++++++++++++----- 3 files changed, 37 insertions(+), 9 deletions(-) diff --git a/src/main/java/space/kklochko/jpa_hospital_example/models/Department.java b/src/main/java/space/kklochko/jpa_hospital_example/models/Department.java index 8bb3069..c5776ba 100644 --- a/src/main/java/space/kklochko/jpa_hospital_example/models/Department.java +++ b/src/main/java/space/kklochko/jpa_hospital_example/models/Department.java @@ -4,6 +4,7 @@ import jakarta.persistence.*; import lombok.AllArgsConstructor; import lombok.Data; +import java.util.List; import java.util.UUID; @Table(name="departments") @@ -18,6 +19,9 @@ public class Department { String location; String phone; + @OneToMany(cascade = CascadeType.ALL, mappedBy="department") + private List patients; + public Department(){ setId(UUID.randomUUID()); setName(""); @@ -31,5 +35,12 @@ public class Department { setLocation(location); setPhone(phone); } + + public Department(UUID id, String name, String location, String phone){ + setId(id); + setName(name); + setLocation(location); + setPhone(phone); + } } diff --git a/src/main/java/space/kklochko/jpa_hospital_example/models/Indicator.java b/src/main/java/space/kklochko/jpa_hospital_example/models/Indicator.java index 29bc8ee..d4ca799 100644 --- a/src/main/java/space/kklochko/jpa_hospital_example/models/Indicator.java +++ b/src/main/java/space/kklochko/jpa_hospital_example/models/Indicator.java @@ -14,10 +14,13 @@ import java.util.UUID; public class Indicator { @Id @Column(nullable = true) - UUID id; - String type; - String values; - Timestamp timestamp; + private UUID id; + private String type; + private String values; + private Timestamp timestamp; + + @ManyToOne + private Patient patient; public Indicator(){ setId(UUID.randomUUID()); @@ -32,5 +35,12 @@ public class Indicator { setValues(values); setTimestamp(timestamp); } + + public Indicator(UUID id, String type, String values, Timestamp timestamp){ + setId(id); + setType(type); + setValues(values); + setTimestamp(timestamp); + } } diff --git a/src/main/java/space/kklochko/jpa_hospital_example/models/Patient.java b/src/main/java/space/kklochko/jpa_hospital_example/models/Patient.java index aa1d285..3652fd5 100644 --- a/src/main/java/space/kklochko/jpa_hospital_example/models/Patient.java +++ b/src/main/java/space/kklochko/jpa_hospital_example/models/Patient.java @@ -4,19 +4,26 @@ import jakarta.persistence.*; import lombok.AllArgsConstructor; import lombok.Data; -import java.util.ArrayList; +import java.util.List; import java.util.UUID; @Table(name="patients") @Entity +@AllArgsConstructor @Data public class Patient { @Id @Column(nullable = true) - UUID id; - String name; - short age; - String phone; + private UUID id; + private String name; + private short age; + private String phone; + + @OneToMany(cascade = CascadeType.ALL, mappedBy="patient") + private List indicators; + + @ManyToOne + private Department department; public Patient() { setId(UUID.randomUUID());