Annotation Type NamedNativeQuery


  • @Repeatable(NamedNativeQueries.class)
    @Target(TYPE)
    @Retention(RUNTIME)
    public @interface NamedNativeQuery
    Declares a named native SQL query and, optionally, the mapping of the result of the native SQL query. Query names are scoped to the persistence unit. A named query may be executed by calling EntityManager.createNamedQuery(String, Class).

    In simple cases, a resultClass() specifies how the native SQL query result set should be interpreted, for example: {@snippet :

    Since:
    1.0
    See Also:
    SqlResultSetMapping
      • query

        java.lang.String query
        The native SQL query string.
      • hints

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

        java.lang.Class<?> resultClass
        The class of each query result. If a result set mapping is specified, the specified result class must agree with the type inferred from the result set mapping. If a resultClass is not explicitly specified, then it is inferred from the result set mapping, if any, or defaults to Object or Object[]. The query result class may be overridden by explicitly passing a class object to EntityManager.createNamedQuery(String, Class).
        Default:
        void.class
      • resultSetMapping

        java.lang.String resultSetMapping
        The name of a SqlResultSetMapping, as defined in metadata. The named result set mapping is used to interpret the result set of the native SQL query.

        Alternatively, the elements entities(), classes(), and columns() may be used to specify a result set mapping. These elements may not be used in conjunction with resultSetMapping.

        Default:
        ""
      • entities

        EntityResult[] entities
        Specifies the result set mapping to entities. May not be used in combination with resultSetMapping().
        Since:
        3.2
        Default:
        {}
      • columns

        ColumnResult[] columns
        Specifies the result set mapping to scalar values. May not be used in combination with resultSetMapping().
        Since:
        3.2
        Default:
        {}