torna all'elenco degli elementi della sezione finders

Elemento di catalogo: QueryDef

Descrizione

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.

Caratteristiche (features)

cod.nomedescrizione
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: <partetabella><Partecolonna>: ciascuna delle due parti è valorizzata con il valore dell'attributo name se non è impostato l'alias, o con il valore dell'alias altrimenti.

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 :parametro. Tali segnaposto devoo essere valorizzati nella porzione di codice manuale scritta nel metodo corrispondente al CustomFinder.

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:

  • dal name delle tabelle
  • dal name delle colonne
  • da eventuali alias di colonna o tabella

Grado di implementazione delle varie caratteristiche

Nella tabella seguente è riportato il grado di implementazione delle varie caratteristiche/funzioni dell'elemento QueryDef nelle differenti implementazioni.

codfeature datagen
2.0.0
standard
QRYDEF001table column in select clause
QRYDEF002calculated column in select clause
QRYDEF003column alias in select clause
QRYDEF004multiple table in from clause
QRYDEF005table alias in from clause
QRYDEF006equality join clause
QRYDEF0067custom where clause
QRYDEF008complex result DTO