package de.flower.rmt.model.db.entity; import de.flower.common.validation.unique.Unique; import org.hibernate.validator.constraints.NotBlank; import org.hibernate.validator.constraints.URL; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; import javax.persistence.UniqueConstraint; import javax.validation.constraints.Size; import javax.validation.groups.Default; /** * Opponents for matches. * * @author flowerrrr */ @Entity @Table(name = "opponent", uniqueConstraints = @UniqueConstraint(name = "name", columnNames = {"name", "club_id"})) @Unique(name = "name", clazz = Opponent.class, message = Opponent.Validation.nameNotUniqueMessage, groups = { Opponent.Validation.INameUnique.class, Default.class }) public class Opponent extends AbstractClubRelatedEntity { public interface Validation { public interface INameUnique {} public final static String nameNotUniqueMessage = "{validation.unique.name}"; } @NotBlank @Size(max = 50) @Column private String name; @URL @Size(max = 255) @Column private String url; protected Opponent() { } public Opponent(Club club) { super(club); } public String getName() { return name; } public void setName(final String name) { this.name = name; } public String getUrl() { return url; } public void setUrl(final String url) { this.url = url; } }