blob: 8cb881c4d7ae4a847bffa13bbe66b1a5a5074e66 [file] [log] [blame]
package jpql.query;
import java.util.Date;
import java.util.Map;
import javax.persistence.ElementCollection;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@Entity
@NamedQueries
({
@NamedQuery(name="alias.param1", query="SELECT a.alias FROM Alias AS a WHERE (a.alias IS NULL AND :param1 IS NULL) OR a.alias = :param1"),
@NamedQuery(name="alias.key1", query="SELECT KEY(k) FROM Alias a JOIN a.ids k"),
@NamedQuery(name="alias.key2", query="SELECT KEY(e).firstName FROM Alias a JOIN a.addresses e"),
@NamedQuery(name="alias.value1", query="SELECT VALUE(v) FROM Alias a JOIN a.ids v"),
@NamedQuery(name="alias.value2", query="SELECT v FROM Alias a JOIN a.ids v"),
@NamedQuery(name="alias.value3", query="SELECT VALUE(e).zip.code FROM Alias a JOIN a.addresses e"),
@NamedQuery(name="alias.entry", query="SELECT ENTRY(e) FROM Alias a JOIN a.ids e")
})
@SuppressWarnings("unused")
public class Alias {
@Id
private int id;
private String alias;
@ElementCollection
@Temporal(TemporalType.DATE)
private Map<String, Date> ids;
private Customer customer;
@JoinColumn(name="ID", referencedColumnName="ALIAS.ALIAS")
private Map<Customer, Address> addresses;
}