EventUser.java
2.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
package fi.insomnia.bortal.model;
import java.util.ArrayList;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.OneToMany;
import javax.persistence.OrderBy;
import javax.persistence.Table;
import org.eclipse.persistence.annotations.OptimisticLocking;
import org.eclipse.persistence.annotations.OptimisticLockingType;
@Entity
@Table(name = "event_users")
@OptimisticLocking(type = OptimisticLockingType.CHANGED_COLUMNS)
public class EventUser extends GenericEntity {
// NOTICE!!!!
// These parameters are event specific and should not be accessed directly!
/**
*
*/
private static final long serialVersionUID = 6042691271548196815L;
@OneToMany(mappedBy = "voter", cascade = CascadeType.ALL)
private List<Vote> votes;
@OneToMany(mappedBy = "user", cascade = CascadeType.ALL)
private List<UserNote> notes;
@ManyToMany()
@JoinTable(name = "role_memberships", inverseJoinColumns = {
@JoinColumn(name = "role_id", referencedColumnName = Role.ID_COLUMN) },
joinColumns = { @JoinColumn(name = "user_id", referencedColumnName =
"id") })
private List<Role> roles = new ArrayList<Role>();
@OneToMany(mappedBy = "user")
private List<LogEntry> logEntryList;
@OneToMany(mappedBy = "user")
private List<CompoEntryParticipant> compoEntryParticipants;
@OneToMany(mappedBy = "creator")
@OrderBy("id")
private List<CompoEntry> compoEntries;
@OneToMany(mappedBy = "creator", cascade = ALL)
private List<PlaceGroup> placeGroups = new ArrayList<PlaceGroup>();
@OneToMany(mappedBy = "user")
private List<GroupMembership> groupMemberships;
/**
* The places this user has registered into.
*/
@OneToMany(mappedBy = "currentUser", fetch = FetchType.LAZY)
@OrderBy("id")
private List<Place> currentPlaces;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "user")
private List<PrintedCard> printedCards;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "user")
@OrderBy("id")
private List<AccountEvent> accountEvents;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "user")
@OrderBy("id")
private List<Bill> bills;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "seller")
@OrderBy("id")
private List<AccountEvent> soldItems;
@OneToMany(mappedBy = "admin")
private List<EventOrganiser> eventOrganiser;
@OneToMany(mappedBy = "user")
private List<PollAnswer> pollAnswers;
}