bsr
bsr

Reputation: 58662

JPA createNamedQuery syntax

In Pro JPA 2 (Apress) book, I have seen examples like,

EntityManager em;
Long count = em.createNamedQuery(countQueryName, Long.class).getSingleResult();

But, the api , hopefully applied to JPA 2.0, shows the syntax as

createNamedQuery(String name) 
Parameters:
name - the name of a query defined in metadata

with a single parameter. The book uses the type extensively, so what am I missing?

thanks.

Upvotes: 1

Views: 3474

Answers (1)

Behrang Saeedzadeh
Behrang Saeedzadeh

Reputation: 47913

Java EE 5 uses JPA 1 and Java EE 6 uses JPA 2. Here's the method you're looking for:

createNamedQuery(java.lang.String name, java.lang.Class resultClass):

Create an instance of TypedQuery for executing a Java Persistence query language named query. The select list of the query must contain only a single item, which must be assignable to the type specified by the resultClass argument.

Parameters: name - the name of a query defined in metadata resultClass - the type of the query result

Returns: the new query instance

Throws: IllegalArgumentException - if a query has not been defined with the given name or if the query string is found to be invalid or if the query result is found to not be assignable to the specified type

Since: Java Persistence 2.0

Upvotes: 2

Related Questions