GenericEventChild.java 1.27 KB
package fi.insomnia.bortal.model;

import javax.persistence.EmbeddedId;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.MappedSuperclass;

import fi.insomnia.bortal.utilities.jpa.ModelInterface;

@MappedSuperclass
public abstract class GenericEventChild extends EntityEquals implements ModelInterface<EventPk> {

    private static final long serialVersionUID = -9041737052951021560L;

    public static final String ID_COLUMN = "id";
    @EmbeddedId
    private EventPk id;

    public static final String EVENT_ID_COLUMN = "event_id";
    @ManyToOne()
    @JoinColumn(name = EVENT_ID_COLUMN, insertable = false, updatable = false)
    private LanEvent event;

    public GenericEventChild(LanEvent event) {
        id = new EventPk(event);
        this.event = event;
    }

    public GenericEventChild() {
        super();
    }

    public GenericEventChild(EventPk eventPk) {
        id = new EventPk(eventPk.getEventId());
    }

    @Override
    public final EventPk getId() {
        return id;
    }

    @Override
    public final void setId(EventPk id) {
        this.id = id;
    }

    public final void setEvent(LanEvent event) {
        this.event = event;
    }

    public final LanEvent getEvent() {
        return event;
    }

}