page1
DataNucleus queries
JDOQL
TypeSafe API
Single-String
Declarative API
JPQL
Criteria API
Single-String
SQL
JDOQL e JPQL são superficialmente semelhantes a SQL mas expressas sobre o domain model orientado a objetos e não sobre o modelo relacional.
Na forma de “single-string” a consulta é expressa como um string na linguagem hospedeira, no caso, Java. Do ponto de vista do compilador Java trata-se de um string como qualquer outro. O parse JDOQL/JPQL acontece em tempo de execução. Não é “tipada” no fonte Java.
JDOQL TypeSafe e JPQL Criteria são implementações do conceito de “native queries”, ou DSL (Domain-Specific Languages) de consulta. Ambas são expressas sobre um conjunto de classes de consulta geradas com o uso da ferramenta APT (Annotation Processor Tool) integrada com o compilador Java.
Expressar a consulta nativamente em Java simplifica a composição algoritmica das queries e torna as mesmas fortemente tipadas pelo próprio compilador Java.
JPQL Critéria utiliza o “builder pattern”, enquanto JDOQL TypeSafe é baseado na idéia de “fluent APIs”.