/* * Hibernate, Relational Persistence for Idiomatic Java * * License: GNU Lesser General Public License (LGPL), version 2.1 or later. * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>. */ //$Id$ package org.hibernate.test.annotations.manytomany; import java.util.Set; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.ManyToMany; import javax.persistence.OrderBy; import javax.persistence.Table; import org.hibernate.annotations.Filter; import org.hibernate.annotations.FilterDef; import org.hibernate.annotations.FilterJoinTable; import org.hibernate.annotations.Where; import org.hibernate.annotations.WhereJoinTable; /** * @author Emmanuel Bernard */ @Entity @Table(name = "tbl_group") @FilterDef(name="Groupfilter") public class GroupWithSet { private Integer id; private Set<Permission> permissions; @Id public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } @ManyToMany(cascade = CascadeType.PERSIST) @OrderBy("expirationDate") @Where(clause = "1=1") @WhereJoinTable(clause = "2=2") @Filter(name="Groupfilter", condition = "3=3") @FilterJoinTable(name="Groupfilter", condition = "4=4") public Set<Permission> getPermissions() { return permissions; } public void setPermissions(Set<Permission> permissions) { this.permissions = permissions; } }