package org.fluxtream.core.domain;
import javax.persistence.*;
import java.io.Serializable;
/**
* Created by candide on 04/12/14.
*/
@Entity(name = "SharedChannels")
@NamedQueries({
@NamedQuery(name="sharedChannel.byTrustedBuddyId", query="SELECT sharedChannel FROM SharedChannels sharedChannel WHERE sharedChannel.buddy.guestId=? AND sharedChannel.buddy.buddyId=?"),
@NamedQuery (name="sharedChannel.byApiKeyId", query="SELECT sharedChannel FROM SharedChannels sharedChannel WHERE sharedChannel.buddy.guestId=? AND sharedChannel.buddy.buddyId=? AND sharedChannel.channelMapping.apiKeyId=?"),
@NamedQuery (name="sharedChannel.byBuddyAndChannelMapping", query="SELECT sharedChannel FROM SharedChannels sharedChannel WHERE sharedChannel.buddy.guestId=? AND sharedChannel.buddy.buddyId=? AND sharedChannel.channelMapping.id=?")
})
public class SharedChannel extends AbstractEntity implements Serializable {
@ManyToOne(fetch= FetchType.EAGER)
public TrustedBuddy buddy;
@OneToOne(fetch= FetchType.EAGER)
public ChannelMapping channelMapping;
public SharedChannel() {}
public SharedChannel(TrustedBuddy buddy, ChannelMapping mapping) {
this.buddy = buddy;
this.channelMapping = mapping;
}
}