Skip to content
Snippets Groups Projects
Commit 4b7bd642 authored by Martin Slovík's avatar Martin Slovík
Browse files

Adding Flight and Steward models

parent 22ada640
No related branches found
No related tags found
No related merge requests found
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.time.OffsetDateTime;
import java.util.Objects;
@Entity(name = "flights")
@Data
@NoArgsConstructor
public class Flight extends DomainEntity {
@Column(nullable = false)
private OffsetDateTime departureTime;
@Column(nullable = false)
private OffsetDateTime arrivalTime;
@ManyToOne(fetch = FetchType.LAZY,
cascade = {CascadeType.PERSIST, CascadeType.MERGE})
private FlightSteward flightSteward;
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (!(o instanceof Flight flight)) {
return false;
}
return Objects.equals(getId(), flight.getId()) &&
Objects.equals(getDepartureTime(), flight.getDepartureTime()) &&
Objects.equals(getArrivalTime(), flight.getArrivalTime()) &&
Objects.equals(getFlightSteward(), flight.getFlightSteward());
}
@Override
public int hashCode() {
return Objects.hash(getId(), getDepartureTime(), getArrivalTime(), getFlightSteward());
}
}
package cz.muni.fi.pa165.core.data.domain;
import cz.muni.fi.pa165.core.data.domain.common.DomainEntity;
import jakarta.persistence.Entity;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Objects;
/**
* Connection table for flight-steward many-to-many relationship
*/
@Entity(name = "flight_steward")
@Data
@NoArgsConstructor
public class FlightSteward extends DomainEntity {
private Long flightId;
private Flight flight;
private Long stewardId;
private Steward steward;
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (!(o instanceof FlightSteward flightSteward)) {
return false;
}
return Objects.equals(getId(), flightSteward.getId()) &&
Objects.equals(getFlightId(), flightSteward.getFlightId()) &&
Objects.equals(getFlight(), flightSteward.getFlight()) &&
Objects.equals(getStewardId(), flightSteward.getStewardId()) &&
Objects.equals(getSteward(), flightSteward.getSteward());
}
@Override
public int hashCode() {
return Objects.hash(getId(), getFlightId(), getFlight(), getStewardId(), getSteward());
}
}
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 = "stewards")
@Data
@NoArgsConstructor
public class Steward extends DomainEntity {
@Column(nullable = false)
private String firstName;
@Column(nullable = false)
private String lastName;
@ManyToOne(fetch = FetchType.LAZY,
cascade = {CascadeType.PERSIST, CascadeType.MERGE})
private FlightSteward flightSteward;
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (!(o instanceof Steward steward)) {
return false;
}
return Objects.equals(getId(), steward.getId()) &&
Objects.equals(getFirstName(), steward.getFirstName()) &&
Objects.equals(getLastName(), steward.getLastName()) &&
Objects.equals(getFlightSteward(), steward.getFlightSteward());
}
@Override
public int hashCode() {
return Objects.hash(getId(), getFirstName(), getLastName(), getFlightSteward());
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment