package jpql.query; import java.util.List; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.ManyToMany; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; @Entity @NamedQueries ({ @NamedQuery(name="project.abs", query="SELECT ABS(p.id) FROM Project p"), @NamedQuery(name="product.type1", query="SELECT p FROM Project p WHERE TYPE(p) = AbstractProduct"), @NamedQuery(name="product.type2", query="SELECT p FROM Project p WHERE TYPE(p) IN(LargeProject, SmallProject)"), @NamedQuery(name="project.update1", query="UPDATE Project SET name = 'JPQL'"), @NamedQuery(name="project.update2", query="UPDATE Project AS p SET p.name = 'JPQL' WHERE p.completed = TRUE"), @NamedQuery(name="project.update3", query="UPDATE Project AS p SET p.name = 'JPQL' WHERE p.completed = FALSE"), @NamedQuery(name="project.update4", query="UPDATE Project AS p SET p.name = null") }) @SuppressWarnings("unused") public class Project { private String name; @Id private float id; @ManyToMany private List<Employee> employees; private boolean completed; }