Questa guida descrive l'utilizzo della feature denominata Query By Example, corrispondente alla modellazione di un particolare tipo di Finder, il QBEFinder.
Con il termine Query by example si intende una modalità per indicare i criteri di filtro per una query su un oggetto DB ben definito basata sulla predisposizione di due insiemi di esempi:
Ad esempio, supponiamo di dover utilizzare tale tecnica su una tabella Persona contenente le colonne:
Articolando opportunamente esempi posivi e negativi è possibile definire praticamente qualsiasi criterio di filtro basato sull'analisi dei valori del singolo record. Tipicamente negli applicativi gestionali, dove le ricerche sono spesso basate su una pagina di filtri di ricerca, l'insieme degli esempi dati in pasto al generatore di query by example si riduce ad un numero molto ristretto (spesso 1) di esempi positivi.
In datagen la modalità QBE viene realizzata in due momenti:
Nell'implementazione QBE fornita da datagen gli esempi sono classi java associate ai
DataAccessObject, che assomigliano ai DTO per nome e numero dei campi, ma
se ne differenziano per quanto riguarda il tipo di tali campi.
Mentre infatti nei DTO il tipo dei campi è in pratica il tipo JDBC corrispondente al tipo
SQL della colonna associata a tale campo, nel caso degli examples il tipo è un
tipo astratto: FieldChk.
Questo permette a chi popola gli esempi di introdurre per ciascun campo un criterio di filtro
specifico istanziando particolari tipi di FieldChack.
Esistono differenti tipi di check su field che possono essere utilizzati, e sono disponibili
nel package qbe generato da datagen in ogni progetto:
N.B: in futuro verranno aggiunti altri tipi di check. Allo stato attuale è possibile utilizzare solo questi tre tipi di check: il meccanismo non è estendibile in autonomia dall'utilizzatore.
Esempi pratici dell'utilizzo della modalità query-by-example si possono trovare all' interno della Reference Application MDD.