Query
classin packageklyn.databases.entities
public class Query:
Query

Executable ORM query.

Query currently supports two production-safe modes:

  • native SQL created by EntityManager.createNativeQuery(...);
  • a small KQL/JPQL subset for simple FROM, SELECT COUNT(...) FROM, and UPDATE ... SET ... WHERE ... statements.

Select queries return rows as Map<String, Object> values. Scalar queries such as SELECT COUNT(...) return the scalar from getSingleResult(). Entity hydration is deliberately not faked while annotation argument values are not exposed by reflection.

Named parameters use :name; positional parameters use ? with setParameter(1, value).

Example
em = emf.createEntityManager()
rows = em.createNativeQuery("select id, login from users where login = :login", Map.type)
.setParameter("login", "admin")
.getResultList()
Constructors
Modifier and Type Member Description
public Query
Query(jpql as String, config as DatabaseConfig, isNative as Boolean = false):
No summary.
Methods
Modifier and Type Member Description
public executeUpdate
executeUpdate() as Int:
Exécute une requête UPDATE/DELETE.
public getResultList
getResultList() as List<Object>:
Exécute et retourne la liste des résultats.
public getSingleResult
getSingleResult() as Object:
Exécute et retourne un seul résultat.
public setFirstResult
setFirstResult(offset as Int) as Query:
Définit le premier résultat (offset).
public setMaxResults
setMaxResults(max as Int) as Query:
Limite le nombre de résultats.
public setParameter
setParameter(name as String, value as Object) as Query:
Définit un paramètre nommé.
public setParameter
setParameter(position as Int, value as Object) as Query:
Définit un paramètre positionnel.