Seat.java
- package org.myorg.jpatickets.bo;
- import java.io.Serializable;
- import javax.persistence.*;
- @SuppressWarnings("serial")
- @Entity
- @Table(name="JPATICKET_SEAT")
- @NamedQueries({
- @NamedQuery(name = "JPATicketSeat.getSeatsForVenue",
- query = "select s from Seat s where s.venue = :venue")
- })
- public class Seat implements Serializable {
- @EmbeddedId
- private SeatPK pk;
-
- @MapsId("venueId")
- @ManyToOne(fetch=FetchType.LAZY)
- @JoinColumn(name="VENUE_ID")
- private Venue venue;
-
- protected Seat() {}
- public Seat(Venue venue, String section, int row, int position) {
- this.venue = venue;
- this.pk = new SeatPK(venue==null ? null : venue.getId(), section, row, position);
- }
- public Venue getVenue() { return venue; }
- public String getVenueId() { return pk==null ? null : pk.getVenueId(); }
- public String getSection() { return pk==null ? null : pk.getSection(); }
- public int getRow() { return pk==null ? 0 : pk.getRow(); }
- public int getPosition() { return pk==null ? 0 : pk.getPosition(); }
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + getPosition();
- result = prime * result + getRow();
- result = prime * result + ((getSection() == null) ? 0 : getSection().hashCode());
- result = prime * result + ((getVenueId() == null) ? 0 : getVenueId().hashCode());
- return result;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (this == obj) { return true; }
- if (obj == null) { return false; }
- if (getClass() != obj.getClass()) { return false; }
- Seat other = (Seat) obj;
- return (getPosition() == other.getPosition()) &&
- (getRow() != other.getRow()) &&
- (getSection() == null ? other.getSection()==null : getSection().equals(other.getSection())) &&
- (getVenueId() ==null ? other.getVenueId()==null : venue.getId().equals(other.getVenueId()));
- }
-
-
- @Override
- public String toString() {
- StringBuilder builder = new StringBuilder();
- builder.append("Seat [venue=").append(getVenueId())
- .append(", section=").append(getSection())
- .append(", row=").append(getRow())
- .append(", position=").append(getPosition())
- .append("]");
- return builder.toString();
- }
- }