package hu.sch.domain; import java.io.Serializable; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.SequenceGenerator; import javax.persistence.Table; /** * * @author aldaris */ @Entity @Table(name = "poszt") @NamedQueries({ @NamedQuery(name = Post.currentPostsForGroup, query = "SELECT p FROM Post p WHERE p.membership.id = :id"), @NamedQuery(name = Post.getUserDelegatedPost, query = "SELECT p FROM Post p WHERE p.postType.delegatedPost = true " + "AND p.membership.group = :group " + "AND p.membership.user = :user"), @NamedQuery(name = Post.getByTypeAndGroup, query = "SELECT p FROM Post p " + "WHERE p.postType = :pt AND p.membership.group = :group"), @NamedQuery(name = Post.getPostTypeByName, query = "SELECT p FROM PostType p " + "WHERE p.postName = :pn") }) @SequenceGenerator(name = "poszt_seq", sequenceName = "poszt_seq", allocationSize = 1) public class Post implements Serializable { private static final long serialVersionUID = 1l; public static final String currentPostsForGroup = "currentPostsForGroup"; public static final String getUserDelegatedPost = "getUserDelegatedPost"; public static final String getByTypeAndGroup = "getByTypeAndGroup"; public static final String getPostTypeByName = "getPostTypeByName"; //---------------------------------------------------- @Id @GeneratedValue(generator = "poszt_seq") @Column(name = "id") private Long id; //---------------------------------------------------- @ManyToOne @JoinColumn(name = "grp_member_id", insertable = true, updatable = true) private Membership membership; //---------------------------------------------------- @ManyToOne @JoinColumn(name = "pttip_id", insertable = true, updatable = true) private PostType postType; public Post() { } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Membership getMembership() { return membership; } public void setMembership(Membership membership) { this.membership = membership; } public PostType getPostType() { return postType; } public void setPostType(PostType postType) { this.postType = postType; } }