From a69fdfdda5b5f9aa51716450e27de5b251f9064f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20S=C3=A4ume?= Date: Wed, 2 Oct 2024 08:48:47 +0200 Subject: [PATCH] PMT-32: Create Project Model and Repository --- src/main/java/de/hmmh/pmt/db/Project.java | 47 +++++++++++++++++++ .../de/hmmh/pmt/db/ProjectRepository.java | 6 +++ 2 files changed, 53 insertions(+) create mode 100644 src/main/java/de/hmmh/pmt/db/Project.java create mode 100644 src/main/java/de/hmmh/pmt/db/ProjectRepository.java diff --git a/src/main/java/de/hmmh/pmt/db/Project.java b/src/main/java/de/hmmh/pmt/db/Project.java new file mode 100644 index 0000000..9c9891f --- /dev/null +++ b/src/main/java/de/hmmh/pmt/db/Project.java @@ -0,0 +1,47 @@ +package de.hmmh.pmt.db; + +import jakarta.persistence.*; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.time.LocalDateTime; + +@NoArgsConstructor +@AllArgsConstructor +@Getter +@Setter +@Entity +@Table(name = "project") +public class Project { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + @NotBlank + @Size(min = 3, max = 64) + private String name; + + @NotBlank + @Size(min = 10) + private String goal; + + @NotNull + private Long customerId; + + @NotNull + private Long administratorId; // Is an Employee + + @NotNull + private LocalDateTime start; + + @NotNull + private LocalDateTime plannedEnd; + + private LocalDateTime realEnd; // Cant be named just "end" because it's and SQL Keyword +} + diff --git a/src/main/java/de/hmmh/pmt/db/ProjectRepository.java b/src/main/java/de/hmmh/pmt/db/ProjectRepository.java new file mode 100644 index 0000000..ef501dc --- /dev/null +++ b/src/main/java/de/hmmh/pmt/db/ProjectRepository.java @@ -0,0 +1,6 @@ +package de.hmmh.pmt.db; + +import org.springframework.data.jpa.repository.JpaRepository; + +public interface ProjectRepository extends JpaRepository { +}