torna all'elenco degli elementi della sezione dataAccess

# Elemento di catalogo: LookupResolver

## Descrizione

Il meccanismo del LookupResolver permette di istruire il DataAccessObject in modo da risolvere le associazioni N-1, in particolar modo quelle relative a tabelle di decodifica (tipicamente conosciute come associazioni di lookup).

## Caratteristiche (features)

cod. | nome | descrizione
LKPRES001 | aggregate DTO | In presenza di LookupResolver il DTO che viene associato ad un DataAccessObject è costruito in modo strutturato, contrariamente al DTO classico che contiene una property per ciascuna colonna della tabella principale associata al DataAccessObject. In particolare il DTO non contiene le property corrispondenti alle colonne incluse nella ForeignKey associata al LookupResolver; Al loro posto il DTO contiene una property che ha il tipo del DTO corrispondente alla tabella risolta: in pratica la property ha il tipo del DTO del DataAccessObject dichiarato come supplierDao.
LKPRES002 | supplier DAO | La risoluzione degli oggetti di lookup viene effettuata tramite l'ausilio del DataAccessObject corrispondente alla tabella referenziata dalla ForeignKey. Qualsiasi operazione di lettura azionata su un DataAccessObject che definisce un LookupResolver al momento della materializzazione del singolo record di risultato, delega la valorizzazione dell'oggetto di decodifica al supplier DAO, richiamandone il metodo di ricerca per chiave primaria. DataAccessObject
LKPRES003 | structured Example DTO | In presenza di LookupResolver il DTO che viene associato ad un DataAccessObject per essere utilizzato come esempio nel meccanismo di Query By Example è costruito in modo strutturato, contrariamente al DTO classico che contiene una property di tipo `FieldChk` per ciascuna colonna della tabella principale associata al DataAccessObject. In particolare il DTO di esempio non contiene le property corrispondenti alle colonne incluse nella ForeignKey associata al LookupResolver; Al loro posto il DTO contiene una property che ha il tipo del DTO di example corrispondente alla tabella risolta: in pratica la property ha il tipo del DTO di example del DataAccessObject dichiarato come supplierDao.

## Grado di implementazione delle varie caratteristiche

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

cod | feature | datagen
--- | --- | ---
2.0.0
standard
LKPRES001 | aggregate DTO |
LKPRES002 | supplier DAO |
LKPRES003 | structured Example DTO |