package de.flower.rmt.model.db.entity; import com.mysema.query.annotations.QueryInit; import de.flower.common.model.db.entity.AbstractBaseEntity; import org.hibernate.annotations.Index; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.ManyToOne; import javax.persistence.Table; import javax.persistence.UniqueConstraint; import javax.validation.constraints.NotNull; /** * @author flowerrrr */ @Entity @Table(name = "eventteamplayer", uniqueConstraints = @UniqueConstraint(columnNames = {"eventTeam_id", "invitation_id"})) public class EventTeamPlayer extends AbstractBaseEntity { @NotNull @ManyToOne(fetch = FetchType.LAZY) @QueryInit("event") @Index(name = "ix_team") private EventTeam eventTeam; @NotNull @ManyToOne(fetch = FetchType.LAZY) @Index(name = "ix_invitation") private Invitation invitation; /** * Zero based order. */ @NotNull @Column(name = "sort_order") private Integer order; protected EventTeamPlayer() { } public EventTeamPlayer(final EventTeam eventTeam, final Invitation invitation) { this.eventTeam = eventTeam; this.invitation = invitation; } public EventTeam getEventTeam() { return eventTeam; } public void setEventTeam(final EventTeam team) { this.eventTeam = team; } public Invitation getInvitation() { return invitation; } public void setInvitation(final Invitation invitation) { this.invitation = invitation; } public Integer getOrder() { return order; } public void setOrder(final Integer order) { this.order = order; } }