-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Si, tienes toda la razon. Cuando desarrolle las bases de este proyecto, hace unos a�os, debati con distintas personas sobre las deficiencias de JDBC, y surgio una interesante comparativa con SQLJ como tu mencionas. Cuando a�ada esta nueva FAQ, podria ser la unica "real", en el sentido que realmente ha sido preguntada de verdad, y no utilizada para describir la intencion que motiva el desarrollo :).
En cualquier caso, hoy QueryJ ya dispone de su tarea Ant que sincroniza las tablas y campos con los que se obtienen a partir de los metadatos de la base de datos. He considerado esto como algo prioritario para favorecer el desarollo pendiente, que considero, en su mayoria, trivial: a�adir funciones sql (max, count, to_date, etc.), y el resto de las operaciones sql (insert, delete, update). Una vez disponga de un entorno sincronizado con el modelo de datos, el siguiente paso sera proporcionar un mecanismo basado en plantillas que permita generar patrones DAO personalizables. Por supuesto, habra uno por defecto, que responde a mis preferencias, pero permitira ser facilmente adaptable a las necesidades de cada caso concreto. Aparte de eso, he pensado que seria conveniente tambien permitir la optimizacion de las consultas, de forma que aunque en el codigo la consulta sea simple, dependiendo de distintos metadatos (motor de base de datos, version del driver, etc.), se puedan sustituir incluyendo las optimizaciones que sean convenientes. Eso infringe en cierta medida el contrato inicial de asegurar consultas cuyas sintaxis sean validas, pero puede ser conveniente. Adicionalmente, volviendo a la caracteristica GP (generative programming), aparte de las 4 operaciones basicas, seria conveniente ofrecer la posibilidad de generar metodos concretos para soportar consultas arbitrarias SQL. Para ello, he pensado utilizar ANTLR y la gramatica que dispone para SQL92. Todo lo que involucre ANTLR, JavaCC, lex, yacc, bison, etc. ha conllevado retrasos considerables en los proyectos en los que lo he usado, razon por la cual lo a�ado a la "wish-list", en lugar de asegurar esa funcionalidad. Para finalizar, solo queria indicar que QueryJ trata de ser un primer paso en el camino para conseguir disponer de un entorno en el que se gestionen distintas alternativas tecnologicas funcionalmente compatibles, en funcion de condicionantes relacionados con los requisitos no funcionales. Dicha gestion incluira transiciones entre distintas tecnologias, basadas obviamente en ciclos de histeresis. Ejemplos claros podrian ser QueryJ<->EJB, DOM<->SAX<->XMLPull, java.io<->java.nio, etc. Un saludo. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQE/WGmMCAvt6RF8M0cRArGSAJ9hbYIBa5lqernGwJYs0JPnezyq9ACeI814 hI+QpfvaeJIVui1u74rWaT0= =Wznj -----END PGP SIGNATURE----- --------------------------------------------------------------------- Para eliminar la suscripci�n, mail a: [EMAIL PROTECTED] Para comandos adicionales, mail a: [EMAIL PROTECTED]
