diff --git a/kibu.sqlite b/kibu.sqlite
index 38ca175..85b561c 100644
Binary files a/kibu.sqlite and b/kibu.sqlite differ
diff --git a/pom.xml b/pom.xml
index c58b091..d3d7e42 100644
--- a/pom.xml
+++ b/pom.xml
@@ -62,6 +62,13 @@
hibernate-community-dialects
6.6.15.Final
+
+
+ org.projectlombok
+ lombok
+ 1.18.38
+ provided
+
@@ -70,6 +77,20 @@
org.springframework.boot
spring-boot-maven-plugin
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.11.0
+
+
+
+ org.projectlombok
+ lombok
+ 1.18.38
+
+
+
+
diff --git a/src/main/java/de/roko/archiv/kibubackend/model/Archiv.java b/src/main/java/de/roko/archiv/kibubackend/model/Archiv.java
index 4f25e3c..413ad6a 100644
--- a/src/main/java/de/roko/archiv/kibubackend/model/Archiv.java
+++ b/src/main/java/de/roko/archiv/kibubackend/model/Archiv.java
@@ -1,14 +1,18 @@
package de.roko.archiv.kibubackend.model;
-import jakarta.persistence.Entity;
-import jakarta.persistence.GeneratedValue;
-import jakarta.persistence.GenerationType;
-import jakarta.persistence.Id;
+import jakarta.persistence.*;
+import lombok.*;
+
+import java.util.List;
@Entity
+@Getter
+@Setter
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
public class Archiv {
-
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@@ -17,36 +21,7 @@ public class Archiv {
private String link;
- public Archiv() {
+ @OneToMany(mappedBy = "archiv", cascade = CascadeType.ALL, orphanRemoval = true)
+ private List kreise;
- }
-
- public Archiv(String name, String link) {
- this.name = name;
- this.link = link;
- }
-
- public Long getId() {
- return id;
- }
-
- public void setId(Long id) {
- this.id = id;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getLink() {
- return link;
- }
-
- public void setLink(String link) {
- this.link = link;
- }
}
diff --git a/src/main/java/de/roko/archiv/kibubackend/model/Bild.java b/src/main/java/de/roko/archiv/kibubackend/model/Bild.java
index 4d3e21e..3c110e2 100644
--- a/src/main/java/de/roko/archiv/kibubackend/model/Bild.java
+++ b/src/main/java/de/roko/archiv/kibubackend/model/Bild.java
@@ -1,10 +1,17 @@
package de.roko.archiv.kibubackend.model;
import jakarta.persistence.*;
+import lombok.*;
+@Builder
@Entity
+@Setter
+@Getter
+@NoArgsConstructor
+@AllArgsConstructor
public class Bild {
+
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Long id;
@@ -17,43 +24,4 @@ public class Bild {
private int tileX;
private int tileY;
- public int getTileY() {
- return tileY;
- }
-
- public void setTileY(int tileY) {
- this.tileY = tileY;
- }
-
- public int getTileX() {
- return tileX;
- }
-
- public void setTileX(int tileX) {
- this.tileX = tileX;
- }
-
- public Seite getSeite() {
- return seite;
- }
-
- public void setSeite(Seite seite) {
- this.seite = seite;
- }
-
- public String getDateiname() {
- return dateiname;
- }
-
- public void setDateiname(String dateiname) {
- this.dateiname = dateiname;
- }
-
- public Long getId() {
- return id;
- }
-
- public void setId(Long id) {
- this.id = id;
- }
}
diff --git a/src/main/java/de/roko/archiv/kibubackend/model/Buch.java b/src/main/java/de/roko/archiv/kibubackend/model/Buch.java
index 288df72..2d13fea 100644
--- a/src/main/java/de/roko/archiv/kibubackend/model/Buch.java
+++ b/src/main/java/de/roko/archiv/kibubackend/model/Buch.java
@@ -1,60 +1,34 @@
package de.roko.archiv.kibubackend.model;
import jakarta.persistence.*;
+import lombok.*;
+import java.util.List;
+
+@Builder
@Entity
+@Setter
+@Getter
+@NoArgsConstructor
+@AllArgsConstructor
public class Buch {
+
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
+
private String titel;
private String link;
@ManyToOne
- Ort ort;
+ private Ort ort;
+
+ @OneToMany(mappedBy = "buch", cascade = CascadeType.ALL)
+ private List seiten;
private String typ;
- public Long getId() {
- return id;
- }
-
- public void setId(Long id) {
- this.id = id;
- }
-
- public String getTitel() {
- return titel;
- }
-
- public void setTitel(String titel) {
- this.titel = titel;
- }
-
- public String getLink() {
- return link;
- }
-
- public void setLink(String link) {
- this.link = link;
- }
-
- public Ort getOrt() {
- return ort;
- }
-
- public void setOrt(Ort ort) {
- this.ort = ort;
- }
-
- public String getTyp() {
- return typ;
- }
-
- public void setTyp(String typ) {
- this.typ = typ;
- }
}
diff --git a/src/main/java/de/roko/archiv/kibubackend/model/Kreis.java b/src/main/java/de/roko/archiv/kibubackend/model/Kreis.java
index 336d4ad..2796110 100644
--- a/src/main/java/de/roko/archiv/kibubackend/model/Kreis.java
+++ b/src/main/java/de/roko/archiv/kibubackend/model/Kreis.java
@@ -1,8 +1,16 @@
package de.roko.archiv.kibubackend.model;
import jakarta.persistence.*;
+import lombok.*;
+import java.util.List;
+
+@Builder
@Entity
+@Getter
+@Setter
+@NoArgsConstructor
+@AllArgsConstructor
public class Kreis {
@Id
@@ -11,7 +19,11 @@ public class Kreis {
private String name;
- @ManyToOne
+ @ManyToOne(fetch = FetchType.LAZY)
+ @JoinColumn(name = "archiv_id", nullable = false)
Archiv archiv;
+ @OneToMany(mappedBy = "kreis", cascade = CascadeType.ALL, orphanRemoval = true)
+ private List orte;
+
}
diff --git a/src/main/java/de/roko/archiv/kibubackend/model/Ort.java b/src/main/java/de/roko/archiv/kibubackend/model/Ort.java
index 670df78..ea40981 100644
--- a/src/main/java/de/roko/archiv/kibubackend/model/Ort.java
+++ b/src/main/java/de/roko/archiv/kibubackend/model/Ort.java
@@ -1,10 +1,19 @@
package de.roko.archiv.kibubackend.model;
import jakarta.persistence.*;
+import lombok.*;
+import java.util.List;
+
+@Builder
@Entity
+@Setter
+@Getter
+@NoArgsConstructor
+@AllArgsConstructor
public class Ort {
+
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@@ -14,27 +23,7 @@ public class Ort {
@ManyToOne
private Kreis kreis;
- public Long getId() {
- return id;
- }
+ @OneToMany(mappedBy = "ort", cascade = CascadeType.ALL)
+ private List buecher;
- public void setId(Long id) {
- this.id = id;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public Kreis getKreis() {
- return kreis;
- }
-
- public void setKreis(Kreis kreis) {
- this.kreis = kreis;
- }
}
diff --git a/src/main/java/de/roko/archiv/kibubackend/model/Seite.java b/src/main/java/de/roko/archiv/kibubackend/model/Seite.java
index edc98f3..f3e944b 100644
--- a/src/main/java/de/roko/archiv/kibubackend/model/Seite.java
+++ b/src/main/java/de/roko/archiv/kibubackend/model/Seite.java
@@ -1,8 +1,16 @@
package de.roko.archiv.kibubackend.model;
import jakarta.persistence.*;
+import lombok.*;
+import java.util.List;
+
+@Builder
@Entity
+@Setter
+@Getter
+@NoArgsConstructor
+@AllArgsConstructor
public class Seite {
@Id
@@ -14,37 +22,9 @@ public class Seite {
@ManyToOne
private Buch buch;
+ @OneToMany(mappedBy = "seite", cascade = CascadeType.ALL)
+ private List bilder;
+
private String meta;
- public Long getId() {
- return id;
- }
-
- public void setId(Long id) {
- this.id = id;
- }
-
- public int getSeitenNummer() {
- return seitenNummer;
- }
-
- public void setSeitenNummer(int seitenNummer) {
- this.seitenNummer = seitenNummer;
- }
-
- public Buch getBuch() {
- return buch;
- }
-
- public void setBuch(Buch buch) {
- this.buch = buch;
- }
-
- public String getMeta() {
- return meta;
- }
-
- public void setMeta(String meta) {
- this.meta = meta;
- }
}
diff --git a/src/test/java/de/roko/archiv/kibubackend/LombokTest.java b/src/test/java/de/roko/archiv/kibubackend/LombokTest.java
new file mode 100644
index 0000000..0e9cca7
--- /dev/null
+++ b/src/test/java/de/roko/archiv/kibubackend/LombokTest.java
@@ -0,0 +1,12 @@
+package de.roko.archiv.kibubackend;
+
+import de.roko.archiv.kibubackend.model.Archiv;
+import org.junit.jupiter.api.Test;
+
+public class LombokTest {
+ public static void main(String[] args) {
+ Archiv archiv = Archiv.builder().name("Test").link("http://example.com").build();
+ archiv.setId(42L);
+ System.out.println("ID: " + archiv.getId());
+ }
+}
\ No newline at end of file