DiscountInstance.java 1.89 KB
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package fi.insomnia.bortal.model;

import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.JoinColumns;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;

/**
 * 
 */
@Entity
@Table(name = "discount_instances")
@NamedQueries({ @NamedQuery(name = "DiscountInstance.findAll", query = "SELECT d FROM DiscountInstance d") })
public class DiscountInstance extends GenericEventChild {

    /**
     * 
     */
    private static final long serialVersionUID = 2192672129232748522L;

    @JoinColumns({
            @JoinColumn(name = "account_event_id", referencedColumnName = "id", nullable = false, updatable = false),
            @JoinColumn(name = "event_id", referencedColumnName = "event_id", nullable = false, updatable = false, insertable = false) })
    @ManyToOne
    private AccountEvent accountEvent;

    @JoinColumns({
            @JoinColumn(name = "discount_id", referencedColumnName = "id", nullable = false, updatable = false),
            @JoinColumn(name = "event_id", referencedColumnName = "event_id", nullable = false, updatable = false, insertable = false) })
    @ManyToOne(optional = false)
    private Discount discount;

    public DiscountInstance() {
    }

    public DiscountInstance(AccountEvent ac, Discount d) {
        accountEvent = ac;
        discount = d;
        setId(new EventPk(ac.getEvent()));
    }

    public AccountEvent getAccountEvent() {
        return accountEvent;
    }

    public void setAccountEvent(AccountEvent accountEventsId) {
        this.accountEvent = accountEventsId;
    }

    public Discount getDiscount() {
        return discount;
    }

    public void setDiscount(Discount discountsId) {
        this.discount = discountsId;
    }

}