package org.fluxtream.core.domain;
import javax.persistence.Entity;
import javax.persistence.Lob;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Column;
import com.google.gson.annotations.Expose;
@Entity(name = "Address")
@NamedQueries({
@NamedQuery(name = "address.when",
query = "SELECT address FROM Address address WHERE address.guestId=? AND address.since<? and address.until>? ORDER BY address.id ASC"),
@NamedQuery(name = "addresses.byGuestId",
query = "SELECT address FROM Address address WHERE address.guestId=? ORDER BY address.id ASC"),
@NamedQuery(name = "addresses.delete.all",
query = "DELETE FROM Address address WHERE address.guestId=?"),
@NamedQuery(name = "addresses.byType",
query = "SELECT address FROM Address address WHERE address.guestId=? AND address.type=?"),
@NamedQuery(name = "addresses.byType.when",
query = "SELECT address FROM Address address WHERE address.guestId=? AND address.type=? and address.since < ? and address.until > ?")
})
public class GuestAddress extends AbstractEntity {
public static final String TYPE_HOME = "ADDRESS_HOME";
public static final String TYPE_WORK = "ADDRESS_WORK";
public static final String TYPE_OTHER = "ADDRESS_OTHER";
public GuestAddress() {
}
public long guestId;
@Expose
public String address;
@Expose
public double latitude;
@Expose
public double longitude;
@Expose
public long since;
@Expose
public double radius;
@Expose
public long until = Long.MAX_VALUE;
@Expose
public String type;
@Expose
@Column(insertable=false, updatable=false)
public long id;
@Lob
public String jsonStorage;
}