1
//$Id: GroupWithSet.java 14736 2008-06-04 14:23:42Z hardy.ferentschik $
2
package org.hibernate.test.annotations.manytomany;
4
import java.util.Collection;
7
import javax.persistence.CascadeType;
8
import javax.persistence.Entity;
9
import javax.persistence.Id;
10
import javax.persistence.JoinColumn;
11
import javax.persistence.JoinTable;
12
import javax.persistence.ManyToMany;
13
import javax.persistence.OrderBy;
14
import javax.persistence.Table;
15
import javax.persistence.UniqueConstraint;
17
import org.hibernate.annotations.Where;
18
import org.hibernate.annotations.FilterDef;
19
import org.hibernate.annotations.Filter;
20
import org.hibernate.annotations.FilterJoinTable;
21
import org.hibernate.annotations.WhereJoinTable;
24
* @author Emmanuel Bernard
27
@Table(name = "tbl_group")
28
@FilterDef(name="Groupfilter")
29
public class GroupWithSet {
31
private Set<Permission> permissions;
34
public Integer getId() {
38
public void setId(Integer id) {
42
@ManyToMany(cascade = CascadeType.PERSIST)
43
@JoinTable(name = "GROUPS_PERMISSIONS",
44
uniqueConstraints = @UniqueConstraint(columnNames = {"group_id", "permission"}),
45
joinColumns = @JoinColumn(name = "group_id", referencedColumnName = "id"),
46
inverseJoinColumns = @JoinColumn(name = "permission", referencedColumnName = "permission")
48
@OrderBy("expirationDate")
49
@Where(clause = "1=1")
50
@WhereJoinTable(clause = "2=2")
51
@Filter(name="Groupfilter", condition = "3=3")
52
@FilterJoinTable(name="Groupfilter", condition = "4=4")
53
public Set<Permission> getPermissions() {
57
public void setPermissions(Set<Permission> permissions) {
58
this.permissions = permissions;