package de.flower.rmt.model.db.entity; import de.flower.rmt.model.db.entity.event.Event; import org.hibernate.annotations.Index; import org.hibernate.validator.constraints.NotBlank; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Lob; import javax.persistence.ManyToOne; import javax.persistence.Table; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; /** * blog article. * * @author flowerrrr */ @Entity @Table(name = "barticle") public class BArticle extends AbstractClubRelatedEntity { public final static int HEADING_MAXLENGTH = 80; @Column(length = HEADING_MAXLENGTH) @Size(max = HEADING_MAXLENGTH) @NotBlank(message = "{validation.blog.article.heading}") private String heading; @Lob @NotBlank(message = "{validation.blog.article.text}") private String text; /** * FetchType EAGER needed as long as there's no bCommentManager that allows eager loading of comment instances. */ @NotNull @ManyToOne @Index(name = "ix_author") private User author; /** * Optional link to event. */ @ManyToOne @Index(name = "ix_event") private Event event; protected BArticle() { } public BArticle(User author, final Club club) { super(club); this.author = author; } public String getHeading() { return heading; } public void setHeading(final String heading) { this.heading = heading; } public Event getEvent() { return event; } public void setEvent(final Event event) { this.event = event; } public String getText() { return text; } public void setText(final String text) { this.text = text; } public User getAuthor() { return author; } public void setAuthor(final User author) { this.author = author; } }