diff --git a/src/main/java/at/htlleonding/firstrest/EventEntity.java b/src/main/java/at/htlleonding/firstrest/EventEntity.java new file mode 100644 index 0000000..466ab1d --- /dev/null +++ b/src/main/java/at/htlleonding/firstrest/EventEntity.java @@ -0,0 +1,21 @@ +package at.htlleonding.firstrest; + +import jakarta.persistence.*; +import lombok.Builder; + +import java.util.HashSet; +import java.util.Set; +import java.util.UUID; + +@Entity +@Table(name = "event") +public class EventEntity { + @Id + @GeneratedValue + private UUID id; + + private String name; + + @ManyToMany + private Set studentEntities = new HashSet<>(); +} diff --git a/src/main/java/at/htlleonding/firstrest/StudentEntity.java b/src/main/java/at/htlleonding/firstrest/StudentEntity.java index 6cca599..1e8db8b 100644 --- a/src/main/java/at/htlleonding/firstrest/StudentEntity.java +++ b/src/main/java/at/htlleonding/firstrest/StudentEntity.java @@ -42,6 +42,15 @@ public class StudentEntity { @EqualsAndHashCode.Exclude @Builder.Default private Set homeworkEntitySet = new HashSet<>(); + + @ManyToMany + @EqualsAndHashCode.Exclude + @JoinTable( + name = "student_event", + joinColumns = @JoinColumn(name = "student_id"), + inverseJoinColumns = @JoinColumn(name = "event_id") + ) + private Set eventEntities = new HashSet<>(); public void setAddress(final AddressEntity address) { this.address = address; if (address != null) { diff --git a/src/test/resources/import.sql b/src/test/resources/import.sql index 3abc808..33e83dd 100644 --- a/src/test/resources/import.sql +++ b/src/test/resources/import.sql @@ -1 +1,15 @@ -INSERT INTO student (id, first_name, last_name) VALUES ('0b1a65e0-bf96-497f-8bbc-23302a77a25b', 'John', 'Doe'); \ No newline at end of file +INSERT INTO student (id, first_name, last_name) VALUES (UUID_TO_BIN('a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11'), 'John', 'Doe'); +INSERT INTO address (student_id, street_name, street_number, city, city_code) VALUES (UUID_TO_BIN('a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11'), 'Musterstrasse', '1A', 'Linz', '4020'); +INSERT INTO homework(id, title, description, fk_student_id) values(UUID_TO_BIN('c2c71542-359f-4dee-9c57-60a7d21bff5d'), 'Quarkus 1', 'Create a Quarkus application...', UUID_TO_BIN('a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11')); +INSERT INTO student (id, first_name, last_name) VALUES (UUID_TO_BIN('a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a12'), 'Jane', 'Doe'); +INSERT INTO address (student_id, street_name, street_number, city, city_code) VALUES (UUID_TO_BIN('a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a12'), 'Musterstrasse', '17X', 'Linz', '4020'); +INSERT INTO student (id, first_name, last_name) VALUES (UUID_TO_BIN('a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a13'), 'Peter', 'Jones'); +INSERT INTO address (student_id, street_name, street_number, city, city_code) VALUES (UUID_TO_BIN('a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a13'), 'Musterstrasse', '99A', 'Linz', '4020'); + +INSERT INTO event (id, name) values (UUID_TO_BIN('a129cf7e-89d8-457a-a275-80bc2badd0a0'), 'Mensafest 27.11.'); +INSERT INTO student_event (student_id, event_id) values (UUID_TO_BIN('a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11'), UUID_TO_BIN('a129cf7e-89d8-457a-a275-80bc2badd0a0')); +INSERT INTO student_event (student_id, event_id) values (UUID_TO_BIN('a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a12'), UUID_TO_BIN('a129cf7e-89d8-457a-a275-80bc2badd0a0')); +INSERT INTO student_event (student_id, event_id) values (UUID_TO_BIN('a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a13'), UUID_TO_BIN('a129cf7e-89d8-457a-a275-80bc2badd0a0')); + +INSERT INTO event (id, name) values (UUID_TO_BIN('70d3ca41-21bf-45ae-9d4f-0e462eb5f385'), 'KHG-Heim Krampusfest'); +INSERT INTO student_event (student_id, event_id) values (UUID_TO_BIN('a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11'), UUID_TO_BIN('70d3ca41-21bf-45ae-9d4f-0e462eb5f385')); \ No newline at end of file