From 223edfccaf09fc7662436969b13a87543240063a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milan=20Mozol=C3=A1k?= Date: Fri, 25 Mar 2022 16:02:15 +0100 Subject: [PATCH] Added Country entity + Country DAO --- .../group7/secretservice/dao/CountryDao.java | 7 ++ .../group7/secretservice/entity/Country.java | 90 +++++++++++++++++++ .../group7/secretservice/entity/Mission.java | 8 +- 3 files changed, 102 insertions(+), 3 deletions(-) create mode 100644 src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/dao/CountryDao.java create mode 100644 src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Country.java diff --git a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/dao/CountryDao.java b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/dao/CountryDao.java new file mode 100644 index 00000000..b6a25d30 --- /dev/null +++ b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/dao/CountryDao.java @@ -0,0 +1,7 @@ +package cz.fi.muni.pa165.seminar4.group7.secretservice.dao; + +import cz.fi.muni.pa165.seminar4.group7.secretservice.entity.Country; +import org.springframework.data.repository.CrudRepository; + +public interface CountryDao extends CrudRepository { +} diff --git a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Country.java b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Country.java new file mode 100644 index 00000000..08a3079b --- /dev/null +++ b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Country.java @@ -0,0 +1,90 @@ +package cz.fi.muni.pa165.seminar4.group7.secretservice.entity; + +import com.sun.istack.NotNull; +import lombok.Getter; +import lombok.Setter; + +import javax.persistence.*; +import java.util.List; +import java.util.Objects; + +/** + * @author Milan Mozolak + */ +@Entity +public class Country { + @Id + @Column(name = "id", nullable = false) + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Getter + @Setter + private Long id; + + @NotNull + @Column(nullable = false) + @Getter + @Setter + private String code; + + @NotNull + @Column(nullable = false) + @Getter + @Setter + private String name; + + @NotNull + @Column(nullable = false) + @Getter + @Setter + private String demographics; + + @NotNull + @Column(nullable = false) + @Getter + @Setter + private String geography; + + @NotNull + @Column(nullable = false) + @Getter + @Setter + private String communications; + + @NotNull + @Column(nullable = false) + @Getter + @Setter + private String government; + + @NotNull + @Column(nullable = false) + @Getter + @Setter + private String economy; + + @NotNull + @Column(nullable = false) + @Getter + @Setter + private String military; + + @Getter + @Setter + @OneToMany(mappedBy = "country") + private List missions; + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + Country country = (Country) o; + + return id.equals(country.id) && code.equals(country.code); + } + + @Override + public int hashCode() { + return Objects.hash(id, code); + } +} diff --git a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Mission.java b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Mission.java index e36a1e47..1771c3be 100644 --- a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Mission.java +++ b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Mission.java @@ -41,9 +41,11 @@ public class Mission { @OneToMany(mappedBy = "mission") private List resources; - // TODO - // @ManyToOne ? - // private Country country; + @ManyToOne + @JoinColumn(name = "country_id") + @Getter + @Setter + private Country country; @Override public boolean equals(Object o) { -- GitLab