From 736e3dee4a50d68f8487b92e24cac85624e260b0 Mon Sep 17 00:00:00 2001
From: Hendrik Jungnitsch <hendrik.jungnitsch@gedoplan.de>
Date: Mo, 14 Nov 2022 12:15:46 +0100
Subject: [PATCH] exercise05
---
src/main/java/de/gedoplan/seminar/jpa/exercise/domain/Junction.java | 17 +++++++++++++++++
src/main/java/de/gedoplan/seminar/jpa/exercise/domain/MaintenanceDepartment.java | 43 ++++++++++++++++++++++++++++++++-----------
2 files changed, 49 insertions(+), 11 deletions(-)
diff --git a/src/main/java/de/gedoplan/seminar/jpa/exercise/domain/Junction.java b/src/main/java/de/gedoplan/seminar/jpa/exercise/domain/Junction.java
index f29ccf7..3cb3293 100644
--- a/src/main/java/de/gedoplan/seminar/jpa/exercise/domain/Junction.java
+++ b/src/main/java/de/gedoplan/seminar/jpa/exercise/domain/Junction.java
@@ -8,7 +8,11 @@
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
+import javax.persistence.ManyToOne;
import javax.persistence.Table;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
@Entity
@Table(name = Junction.TABLE_NAME)
@@ -26,6 +30,10 @@
private JunctionKind kind;
private String no;
+
+ @JsonIgnoreProperties("junctions")
+ @ManyToOne
+ private Highway highway;
public Junction() {
@@ -68,6 +76,15 @@
public void setNo(String no) {
this.no = no;
}
+
+
+ public Highway getHighway() {
+ return highway;
+ }
+
+ public void setHighway(Highway highway) {
+ this.highway = highway;
+ }
@Override
public int hashCode() {
diff --git a/src/main/java/de/gedoplan/seminar/jpa/exercise/domain/MaintenanceDepartment.java b/src/main/java/de/gedoplan/seminar/jpa/exercise/domain/MaintenanceDepartment.java
index ee57a0f..c2b4b98 100644
--- a/src/main/java/de/gedoplan/seminar/jpa/exercise/domain/MaintenanceDepartment.java
+++ b/src/main/java/de/gedoplan/seminar/jpa/exercise/domain/MaintenanceDepartment.java
@@ -1,6 +1,14 @@
package de.gedoplan.seminar.jpa.exercise.domain;
+import java.util.HashSet;
+import java.util.Set;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
import javax.persistence.Entity;
+import javax.persistence.JoinColumn;
+import javax.persistence.JoinTable;
+import javax.persistence.ManyToMany;
import javax.persistence.Table;
import de.gedoplan.seminar.jpa.exercise.common.GeneratedIntegerIdEntity;
@@ -8,20 +16,33 @@
@Entity
@Table(name = MaintenanceDepartment.TABLE_NAME)
public class MaintenanceDepartment extends GeneratedIntegerIdEntity {
- public static final String TABLE_NAME = "JPA_MAINTENANCE_DEPT";
- public static final String TABLE_NAME_HIGHWAYS = "JPA_MAINTENANCE_DEPT_HIGHWAY";
+ public static final String TABLE_NAME = "JPA_MAINTENANCE_DEPT";
+ public static final String TABLE_NAME_HIGHWAYS = "JPA_MAINTENANCE_DEPT_HIGHWAY";
- private String name;
+ private String name;
+ @ManyToMany
+ @JoinTable(name = TABLE_NAME_HIGHWAYS, joinColumns = @JoinColumn(name = "MAINTENANCE_DEPT_ID"), inverseJoinColumns = @JoinColumn(name = "HIGHWAY_ID"))
+ private Set<Highway> highways = new HashSet<>();
- protected MaintenanceDepartment() {
- }
+ protected MaintenanceDepartment() {
+ }
- public MaintenanceDepartment(String name, Highway... highways) {
- this.name = name;
- }
+ public MaintenanceDepartment(String name, Highway... highways) {
+ this.name = name;
+ this.highways = Stream.of(highways).collect(Collectors.toSet());
+ }
- public String getName() {
- return this.name;
- }
+ public String getName() {
+ return this.name;
+ }
+
+ public Set<Highway> getHighways() {
+ return highways;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
}
--
Gitblit v1.7.1