@OneToOne
@JoinColumn(name = "fk_Member")
@OneToOne(mappedBy = "member", fetch = FetchType.EAGER, cascade = CascadeType.REMOVE)
Account account;
@ElementCollection(targetClass = Role.class, fetch =FetchType.EAGER)
@CollectionTable(name = "tbl_member_role", joinColumns = @JoinColumn(name = "fk_Member"))
@Column(name ="intRoleNo")
Set<Role> roles =Sets.newHashSet(Role.USER);
@Column(name ="intStatus",nullable=false)
@Enumerated(EnumType.STRING)
TicketStatus status=TicketStatus.OPEN;
@OneToMany(mappedBy = "member", cascade = CascadeType.REMOVE)
List<PurchaseOrder> orders;
@ManyToOne
@JoinColumn(name ="fk_Member")
@ManyToMany
@JoinTable(name = "tbl_ticket_course", joinColumns =@JoinColumn(name = "fk_Ticket") ,
inverseJoinColumns = @JoinColumn(name = "fk_Course") ,
uniqueConstraints = {@UniqueConstraint(columnNames= {"fk_Ticket","fk_Course"})})
List<Course> courses;
@Column(name ="dtPayday")
@Temporal(TemporalType.DATE)
@Inheritance(strategy = InheritanceType.JOINED)
@Table(name = "tbl_order")
public class PurchaseOrder extends PersistableClass<Integer>{
@PrimaryKeyJoinColumn(name = "id")
@Table(name = "tbl_order_cash")
public class CashOrder extends PurchaseOrder{
@Table(name = "test", indexes = [
@Index(columnList = "target"),
@Index(columnList = "target,creation asc")
])
class Test extends AbstractPersistable<Long>{
//jodatime
@Column(name = "modification_time", nullable = false)
@Type(type="org.joda.time.contrib.hibernate.PersistentDateTime")
private DateTime modificationTime;
// http://joda-time.sourceforge.net/contrib/hibernate/userguide.html
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private int id;
@Id
@GeneratedValue(generator = "uuid2")
@GenericGenerator(name = "uuid2", strategy = "uuid2")