package jpql.query; import java.io.Serializable; import java.util.List; import javax.persistence.Column; import javax.persistence.Embedded; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.OneToMany; @Entity @NamedQueries ({ @NamedQuery(name="address.addition", query="SELECT a.id + 2 FROM Address a"), @NamedQuery(name="address.collection", query="SELECT c FROM Address a JOIN a.customerList c"), @NamedQuery(name="address.concat", query="SELECT CONCAT(a.street, a.city) FROM Address a"), @NamedQuery(name="address.count", query="SELECT DISTINCT COUNT(a) FROM Address a"), @NamedQuery(name="address.index", query="SELECT INDEX(c) FROM Address a JOIN a.customerList c"), @NamedQuery(name="address.join", query="SELECT a FROM Address a, Employee e JOIN FETCH a.customerList, Alias s JOIN FETCH s.addresses"), @NamedQuery(name="address.join.fetch", query="SELECT MOD(a.id, 2) FROM Address a JOIN FETCH a.customerList"), // SHOULD BE "SELECT MOD(a.id, 2) AS m FROM Address a JOIN FETCH a.customerList ORDER BY m" @NamedQuery(name="address.join.inner", query="SELECT c FROM Address a INNER JOIN a.customerList c"), @NamedQuery(name="address.join.left", query="SELECT e FROM Address a LEFT JOIN a.customerList e"), @NamedQuery(name="address.join.left.outer", query="SELECT c FROM Address a LEFT OUTER JOIN a.customerList c"), @NamedQuery(name="address.relationship1", query="SELECT c.dept FROM Address a LEFT OUTER JOIN a.customerList c"), @NamedQuery(name="address.relationship2", query="SELECT c.lastName FROM Address a LEFT OUTER JOIN a.customerList c"), @NamedQuery(name="address.length", query="SELECT LENGTH(a.street) FROM Address a"), @NamedQuery(name="address.locate", query="SELECT LOCATE(a.street, 'Arco Drive') FROM Address a"), @NamedQuery(name="address.member", query="SELECT a FROM Address a, Customer c WHERE c MEMBER OF a.customerList"), @NamedQuery(name="address.member.not", query="SELECT a FROM Address a, Customer c WHERE c NOT MEMBER OF a.customerList"), @NamedQuery(name="address.size", query="SELECT SIZE(a.customerList) FROM Address a JOIN a.customerList c"), @NamedQuery(name="address.stateField", query="SELECT c.lastName FROM Address a JOIN a.customerList AS c"), @NamedQuery(name="address.subquery.subquery", query="SELECT e FROM Employee e WHERE 2 < ALL(SELECT a FROM Address a WHERE 2 < ANY(SELECT d FROM Dept WHERE a.city = ?1))"), @NamedQuery(name="address.substring", query="SELECT SUBSTRING(a.state, 0, 1) FROM Address a") }) @SuppressWarnings("unused") public class Address implements Serializable { private String city; @Id @Column(nullable = false) @GeneratedValue(generator="mySequenceGeneratorName") private Long id; private String state; private String street; @Embedded private ZipCode zip; @OneToMany(mappedBy = "address") private List<Customer> customerList; }