JPQL Named Queries
Sirven para crear queries con un nombre, estos queries al ser cadenas estáticas se ejecutan con un mejor performance que los queries dinámicos. Se definen a nivel de clase.
@NamedQueries({
@NamedQuery(name="Employee.findAll",
query="SELECT e FROM Employee e"),
@NamedQuery(name="Employee.findByPrimaryKey",
query="SELECT e FROM Employee e WHERE e.id = :id"),
@NamedQuery(name="Employee.findByName",
query="SELECT e FROM Employee e WHERE e.name = :name")
})