La introducción de los query "typesafe" a JDO
En DataNucleus hemos desarrollado una versión de JDOQL de tipo "typesafe" en el estilo de QueryDSL (y con un poquito de colaboración con la gente de QueryDSL). La intención es introducirla en JDO3.1. En este blog post (en ingles) damos unos ejemplos de lo que es posible con DataNucleus SVN. Como el blog está en ingles, aquí hay un ejemplo,
TypesafeQuery<Product> tq = pm.newTypesafeQuery(Product.class);
QProduct cand = (QProduct)tq.candidate();
tq.filter(cand.value.lt(40.0)).orderBy(cand.name.asc());
List<Product> results = tq.executeResultList(true, cand.name, cand.value);
Es igual que escribir
SELECT this.name, this.value FROM mydomain.Product WHERE this.value < 40.0 ORDER BY this.name ASCENDING
pero permite la refactoración de las clases y campos. En nuestra opinión esta forma es mas elegante que el JPA Criteria, y el usuario necesita menos lineas de codigo para escribir su query. Como JDO da soporte a cualquier lenguaje de query, pensamos de incluir una versión para JPQL tambien en el futuro.
¿Que piensan ustedes? ¿Hay algo en JaQu, LiquidForm, QueryDSL, Criteria etc que debemos incluir aca?
Reader Comments