From 6db6c6b2e5fe07e8fcb77c1457b63d8576871f17 Mon Sep 17 00:00:00 2001 From: Tobias Eidelpes Date: Sat, 3 Apr 2021 16:51:19 +0200 Subject: [PATCH] Fix mappings --- .../java/dst/ass1/jpa/model/impl/Driver.java | 5 +---- .../dst/ass1/jpa/model/impl/Employment.java | 15 ++------------- .../dst/ass1/jpa/model/impl/EmploymentKey.java | 17 ----------------- .../java/dst/ass1/jpa/model/impl/Location.java | 3 --- .../java/dst/ass1/jpa/model/impl/Match.java | 7 ++++--- .../java/dst/ass1/jpa/model/impl/Money.java | 4 ++-- .../java/dst/ass1/jpa/model/impl/Rider.java | 7 ++----- .../java/dst/ass1/jpa/model/impl/TripInfo.java | 3 ++- .../java/dst/ass1/jpa/model/impl/Vehicle.java | 9 --------- 9 files changed, 13 insertions(+), 57 deletions(-) diff --git a/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Driver.java b/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Driver.java index b91cf0f..409a136 100644 --- a/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Driver.java +++ b/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Driver.java @@ -8,13 +8,10 @@ import java.util.Collection; @Entity public class Driver extends PlatformUser implements IDriver { - @OneToMany(targetEntity = Match.class) - private Collection matches = new ArrayList<>(); - @ManyToOne(targetEntity = Vehicle.class, optional = false) private IVehicle vehicle; - @OneToMany(targetEntity = Employment.class) + @ManyToMany(targetEntity = Employment.class) private Collection employments = new ArrayList<>(); @Override diff --git a/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Employment.java b/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Employment.java index 46d49e9..df69212 100644 --- a/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Employment.java +++ b/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Employment.java @@ -1,19 +1,16 @@ package dst.ass1.jpa.model.impl; -import dst.ass1.jpa.model.IDriver; import dst.ass1.jpa.model.IEmployment; import dst.ass1.jpa.model.IEmploymentKey; -import dst.ass1.jpa.model.IOrganization; import org.hibernate.annotations.Target; import javax.persistence.*; +import java.io.Serializable; import java.util.Date; -import static dst.ass1.jpa.util.Constants.T_DRIVER; -import static dst.ass1.jpa.util.Constants.T_ORGANIZATION; @Entity -public class Employment implements IEmployment { +public class Employment implements IEmployment, Serializable { @EmbeddedId @Target(EmploymentKey.class) private IEmploymentKey id; @@ -21,14 +18,6 @@ public class Employment implements IEmployment { private Boolean active; - @MapsId(T_ORGANIZATION) - @ManyToOne(targetEntity = Organization.class) - IOrganization organization; - - @MapsId(T_DRIVER) - @ManyToOne(targetEntity = Driver.class) - IDriver driver; - @Override public IEmploymentKey getId() { return id; diff --git a/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/EmploymentKey.java b/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/EmploymentKey.java index 5372f05..9582041 100644 --- a/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/EmploymentKey.java +++ b/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/EmploymentKey.java @@ -7,7 +7,6 @@ import dst.ass1.jpa.model.IOrganization; import javax.persistence.Embeddable; import javax.persistence.ManyToOne; import java.io.Serializable; -import java.util.Objects; @Embeddable public class EmploymentKey implements IEmploymentKey, Serializable { @@ -17,9 +16,6 @@ public class EmploymentKey implements IEmploymentKey, Serializable { @ManyToOne(targetEntity = Organization.class) private IOrganization organization; - public EmploymentKey() { - } - @Override public IDriver getDriver() { return driver; @@ -39,17 +35,4 @@ public class EmploymentKey implements IEmploymentKey, Serializable { public void setOrganization(IOrganization organization) { this.organization = organization; } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - EmploymentKey that = (EmploymentKey) o; - return getDriver().equals(that.getDriver()) && getOrganization().equals(that.getOrganization()); - } - - @Override - public int hashCode() { - return Objects.hash(getDriver(), getOrganization()); - } } diff --git a/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Location.java b/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Location.java index d348817..84640c9 100644 --- a/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Location.java +++ b/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Location.java @@ -16,9 +16,6 @@ public class Location implements ILocation { private Long locationId; - @ManyToMany(targetEntity = Trip.class) - private Collection trips = new ArrayList<>(); - @Override public Long getId() { return id; diff --git a/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Match.java b/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Match.java index 81cdb03..219ad25 100644 --- a/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Match.java +++ b/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Match.java @@ -1,6 +1,7 @@ package dst.ass1.jpa.model.impl; import dst.ass1.jpa.model.*; +import org.hibernate.annotations.Target; import javax.persistence.*; import java.util.Date; @@ -12,16 +13,16 @@ public class Match implements IMatch { private Date date; - @Embedded + @Embedded @Target(Money.class) private IMoney fare; @OneToOne(targetEntity = Trip.class) private ITrip trip; - @ManyToOne(targetEntity = Vehicle.class) + @OneToOne(targetEntity = Vehicle.class) private IVehicle vehicle; - @ManyToOne(targetEntity = Driver.class) + @OneToOne(targetEntity = Driver.class) private IDriver driver; @Override diff --git a/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Money.java b/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Money.java index 659d56e..a7b28e4 100644 --- a/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Money.java +++ b/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Money.java @@ -3,12 +3,12 @@ package dst.ass1.jpa.model.impl; import dst.ass1.jpa.model.IMoney; import javax.persistence.Embeddable; +import java.io.Serializable; import java.math.BigDecimal; @Embeddable -public class Money implements IMoney { +public class Money implements IMoney, Serializable { private String currency; - private BigDecimal value; @Override diff --git a/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Rider.java b/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Rider.java index 2e87ab6..b5572cc 100644 --- a/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Rider.java +++ b/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Rider.java @@ -6,16 +6,13 @@ import dst.ass1.jpa.model.ITrip; import org.hibernate.annotations.Cascade; import javax.persistence.*; -import javax.validation.constraints.NotNull; import java.util.ArrayList; import java.util.Collection; import static dst.ass1.jpa.util.Constants.*; @Entity -@Table( - uniqueConstraints = @UniqueConstraint(columnNames = {M_RIDER_ACCOUNT, M_RIDER_BANK_CODE}) -) +@Table(uniqueConstraints = @UniqueConstraint(columnNames = {M_RIDER_ACCOUNT, M_RIDER_BANK_CODE})) public class Rider extends PlatformUser implements IRider { @Column(unique = true) @NotNull private String email; @@ -34,7 +31,7 @@ public class Rider extends PlatformUser implements IRider { @JoinColumn(name = I_PREFERENCES, unique = true) private IPreferences preferences; - @ManyToOne(targetEntity = Trip.class) + @OneToMany(targetEntity = Trip.class) private Collection trips = new ArrayList<>(); @Override diff --git a/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/TripInfo.java b/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/TripInfo.java index c0cb782..7033908 100644 --- a/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/TripInfo.java +++ b/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/TripInfo.java @@ -3,6 +3,7 @@ package dst.ass1.jpa.model.impl; import dst.ass1.jpa.model.IMoney; import dst.ass1.jpa.model.ITrip; import dst.ass1.jpa.model.ITripInfo; +import org.hibernate.annotations.Target; import javax.persistence.*; import java.util.Date; @@ -16,7 +17,7 @@ public class TripInfo implements ITripInfo { private Double distance; - @Embedded + @Embedded @Target(Money.class) private IMoney total; private Integer driverRating; diff --git a/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Vehicle.java b/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Vehicle.java index 74729cd..db642ff 100644 --- a/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Vehicle.java +++ b/ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Vehicle.java @@ -20,15 +20,6 @@ public class Vehicle implements IVehicle { private String type; - @OneToMany(targetEntity = Driver.class) - private Collection driver; - - @OneToMany(targetEntity = Match.class) - private Collection match; - - @ManyToMany(mappedBy = "vehicles", targetEntity = Organization.class) - private Collection organization; - @Override public Long getId() { return id;