Questa feature permette di modellare una query con costrutti analoghi a quelli messi a disposizione dal linguaggio SQL. L'elemento è utilizzato in congiunzione con il CustomFinder.
| cod. | nome | descrizione |
|---|---|---|
| QRYDEF001 | table column in select clause | Tramite il costrutto QTableColumn (Query-Table-Column) è possibile restituire in output il valore di una colonna di una tabella tra quelle incluse nella clausola FROM della definizione della query. Poichè una tabella può essere referenziata più volte in una query (tramite il costrutto QTable (Query-Table) in questo caso è possibile specificare a quale tabella appartiene effettivamente la colonna da inviare in output |
| QRYDEF002 | calculated column in select clause | Tramite il costrutto QCalculatedColumn (Query-Calculated-Column) è possibile restituire in output in valore calcolato applicando una espressione SQL ad una o più colonne delle tabelle tra incluse nella clausola FROM della definizione della query. Per definire l'espressione è possibile scrivere in testo libero l'espressione stessa, con la possibilità di inserire segnaposto per le varie colonne (pattern: $n, con n da 1 a N, se N è il numero di colonne su cui si basa l'espressione) |
| QRYDEF003 | column alias in select clause |
E' possibile associare un alias a ciascuna colonna referenziata nella clausola SELECT. Nel caso delle colonne calcolate tale impostazione è obbligatoria. La presenza o meno di un alias
di colonna, unito alla presenza o meno di un alias di tabella comporterà differenti politiche di naming delle property java del DTO. Il nome sarà costiuito da due parti:
|
| QRYDEF004 | multiple table in from clause | Tramite il costrutto QTable (Query-Table) è possibile includere nella costruzione della query più tabelle. Una volta incluse nella clausola FROM sarà possibile referenziare le singole tabelle nel resto della query |
| QRYDEF005 | table alias in from clause | E' possibile impostare un alias di tabella nella clausola FROM. Questo permette di referenziare più volte la stessa tabelle (per tutte le casistiche che richiedono questa situazione nel linguaggio SQL - es. join, relazioni multiple verso la stessa tabella, ...). |
| QRYDEF006 | equality join clause | E' possibile specificare una o più condizioni di join con condizione di uguaglianza tra due colonne di due tabelle incluse nella clausola FROM. |
| QRYDEF0067 | custom where clause |
E' possibile definire la clausola WHERE descrivendo (in testo libero) l'espressione SQL di filtro. Questa espressione sarà aggiunta in AND
ad una eventuale espressione derivante dall'insieme delle clausole di JOIN eventualmente presenti.
L'espressione può contenere segnaposto nel formato |
| QRYDEF008 | complex result DTO | A fronte della presenza di un elemento QueryDef in un CustomFinder il metodo restituisce un DTO specifico costruito con tante property quante sono le colonne (reali o calcolate) incluse nella clausola SELECT. Il nome delle singole property dipende:
|
Nella tabella seguente è riportato il grado di implementazione delle varie caratteristiche/funzioni dell'elemento QueryDef nelle differenti implementazioni.
| cod | feature | datagen |
|---|---|---|
| 2.0.0 | ||
| standard | ||
| QRYDEF001 | table column in select clause | ![]() |
| QRYDEF002 | calculated column in select clause | ![]() |
| QRYDEF003 | column alias in select clause | ![]() |
| QRYDEF004 | multiple table in from clause | ![]() |
| QRYDEF005 | table alias in from clause | ![]() |
| QRYDEF006 | equality join clause | ![]() |
| QRYDEF0067 | custom where clause | ![]() |
| QRYDEF008 | complex result DTO | ![]() |