/* * Hibernate OGM, Domain model persistence for NoSQL datastores * * License: GNU Lesser General Public License (LGPL), version 2.1 or later * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>. */ package org.hibernate.ogm.backendtck.associations.collection.types; import java.io.Serializable; import java.util.ArrayList; import java.util.List; import javax.persistence.EmbeddedId; import javax.persistence.Entity; import javax.persistence.JoinTable; import javax.persistence.OneToMany; import javax.persistence.OrderColumn; /** * @author Emmanuel Bernard <emmanuel@hibernate.org> */ @Entity public class Race { @EmbeddedId private RaceId raceId; @OrderColumn(name = "ranking") @OneToMany @JoinTable(name = "Race_Runners") private List<Runner> runnersByArrival = new ArrayList<Runner>(); public RaceId getRaceId() { return raceId; } public void setRaceId(RaceId raceId) { this.raceId = raceId; } public List<Runner> getRunnersByArrival() { return runnersByArrival; } public void setRunnersByArrival(List<Runner> runnersByArrival) { this.runnersByArrival = runnersByArrival; } public static class RaceId implements Serializable { private int federationSequence; private int federationDepartment; public RaceId() { } public RaceId(int federationSequence, int federationDepartment) { this.federationSequence = federationSequence; this.federationDepartment = federationDepartment; } public int getFederationSequence() { return federationSequence; } public void setFederationSequence(int federationSequence) { this.federationSequence = federationSequence; } public int getFederationDepartment() { return federationDepartment; } public void setFederationDepartment(int federationDepartment) { this.federationDepartment = federationDepartment; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + federationDepartment; result = prime * result + federationSequence; return result; } @Override public boolean equals(Object obj) { if ( this == obj ) { return true; } if ( obj == null ) { return false; } if ( getClass() != obj.getClass() ) { return false; } RaceId other = (RaceId) obj; if ( federationDepartment != other.federationDepartment ) { return false; } if ( federationSequence != other.federationSequence ) { return false; } return true; } } }