Annotation Type NamedQuery


  • @Repeatable(NamedQueries.class)
    @Target(TYPE)
    @Retention(RUNTIME)
    public @interface NamedQuery
    Specifies a static, named query in the Jakarta Persistence query language. Query names are scoped to the persistence unit. The NamedQuery annotation can be applied to an entity or mapped superclass.

    The following is an example of the definition of a named query in the Jakarta Persistence query language:

        @NamedQuery(
                name="findAllCustomersWithName",
                query="SELECT c FROM Customer c WHERE c.name LIKE :custName"
        )
     

    The following is an example of the use of a named query:

        @PersistenceContext
        public EntityManager em;
        ...
        customers = em.createNamedQuery("findAllCustomersWithName")
                .setParameter("custName", "Smith")
                .getResultList();
     
    Since:
    1.0
    • Required Element Summary

      Required Elements 
      Modifier and Type Required Element Description
      java.lang.String name
      (Required) The name used to refer to the query with the EntityManager methods that create query objects.
      java.lang.String query
      (Required) The query string in the Jakarta Persistence query language.
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      QueryHint[] hints
      (Optional) Query properties and hints.
      LockModeType lockMode
      (Optional) The lock mode type to use in query execution.
    • Element Detail

      • name

        java.lang.String name
        (Required) The name used to refer to the query with the EntityManager methods that create query objects.
      • query

        java.lang.String query
        (Required) The query string in the Jakarta Persistence query language.
      • lockMode

        LockModeType lockMode
        (Optional) The lock mode type to use in query execution. If a lockMode other than LockModeType.NONE is specified, the query must be executed in a transaction and the persistence context joined to the transaction.
        Since:
        2.0
        Default:
        javax.persistence.LockModeType.NONE
      • hints

        QueryHint[] hints
        (Optional) Query properties and hints. May include vendor-specific query hints.
        Default:
        {}