From ef6bef35f0f66a70636e4f699f84b42c3dc4e2c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Slov=C3=ADk?= <xslovik@fi.muni.cz> Date: Wed, 5 Apr 2023 10:33:56 +0200 Subject: [PATCH] Adding Airplane model --- .../fi/pa165/core/data/domain/Airplane.java | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 core/src/main/java/cz/muni/fi/pa165/core/data/domain/Airplane.java diff --git a/core/src/main/java/cz/muni/fi/pa165/core/data/domain/Airplane.java b/core/src/main/java/cz/muni/fi/pa165/core/data/domain/Airplane.java new file mode 100644 index 0000000..3313001 --- /dev/null +++ b/core/src/main/java/cz/muni/fi/pa165/core/data/domain/Airplane.java @@ -0,0 +1,41 @@ +package cz.muni.fi.pa165.core.data.domain; + +import cz.muni.fi.pa165.core.data.domain.common.DomainEntity; +import jakarta.persistence.*; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Objects; + +@Entity(name = "airplanes") +@Data +@NoArgsConstructor +public class Airplane extends DomainEntity { + + @Column(nullable = false) + private String name; + + @Column(nullable = false) + private Integer capacity; + + @ManyToOne(fetch = FetchType.LAZY, + cascade = {CascadeType.REMOVE, CascadeType.PERSIST, CascadeType.MERGE}) + private AirplaneType type; + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof Airplane airplane)) { + return false; + } + return Objects.equals(getId(), airplane.getId()) && Objects.equals(getName(), airplane.getName()) && + Objects.equals(getCapacity(), airplane.getCapacity()) && Objects.equals(getType(), airplane.getType()); + } + + @Override + public int hashCode() { + return Objects.hash(getId(), getName(), getCapacity(), getType()); + } +} -- GitLab