From 46537b422024bb524966edde6851e2441e8844d1 Mon Sep 17 00:00:00 2001
From: Hendrik Jungnitsch <hendrik.jungnitsch@gedoplan.de>
Date: Mi, 07 Sep 2022 15:10:33 +0200
Subject: [PATCH] exercise05

---
 src/main/java/de/gedoplan/seminar/jpa/exercise/domain/Junction.java              |    1 +
 src/main/java/de/gedoplan/seminar/jpa/exercise/domain/MaintenanceDepartment.java |   43 ++++++++++++++++++++++++++++++++-----------
 2 files changed, 33 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 5a6dbf3..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
@@ -13,6 +13,7 @@
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 
+
 @Entity
 @Table(name = Junction.TABLE_NAME)
 public class Junction {
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