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.validation.constraints.NotNull; /** * @author flowerrrr */ @Entity @Table(name = "lineupitem") public class LineupItem extends AbstractBaseEntity { /** * Coordinates are between 0 .. 1. Origin is upper left corner of editor grid. */ @Column // TODO (flowerrrr - 04.12.12) remove after migration to eventteams. private Double relLeft; @Column private Double relTop; @Column private Long absTop; @Column private Long absLeft; @NotNull @ManyToOne(fetch = FetchType.LAZY) @QueryInit("event") @Index(name = "ix_lineup") private Lineup lineup; @NotNull @QueryInit("user") @ManyToOne(fetch = FetchType.LAZY) private Invitation invitation; protected LineupItem() { } public LineupItem(final Lineup lineup, final Invitation invitation) { this.lineup = lineup; this.invitation = invitation; } public Long getTop() { return absTop; } public void setTop(final Long top) { this.absTop = top; } public Long getLeft() { return absLeft; } public void setLeft(final Long left) { this.absLeft = left; } public Lineup getLineup() { return lineup; } public void setLineup(final Lineup lineup) { this.lineup = lineup; } public Invitation getInvitation() { return invitation; } public void setInvitation(final Invitation invitation) { this.invitation = invitation; } }