2015-06-18 17 views
5

Abbiamo alcuni tipi personalizzati che si riflettono su più campi DB. Ad esempioConvertitore personalizzato multi-campo JOOQ

PersonName{ 
    String salutation, 
    String firstName, 
    String lastName 
} 

memorizzato come 3 campi di db separati. Ed è noioso scrivere sempre

db.select(PERSON.FIRST_NAME, PERSON.LAST_NAME, PERSON.SALUTATION, ... some other fields) 

poi recuperare il record e creare il tipo PersonName dai campi dei record appropriati.

L'idea è di definire un campo personalizzato a più colonne PERSON_NAME, che verrà espanso da jooq in tre campi "reali" durante l'esecuzione della query e impacchettato nell'oggetto PersonName nel risultato.

Sembra che sia possibile fare qualcosa del genere con org.jooq.impl.AbstractField, ma mi chiedo, potrebbe essere che ci sia già una soluzione per questo caso.

risposta

0

Ci sono in attesa di richieste di funzionalità per supportare questo tipo di funzionalità:

Con la funzionalità out-of-the-box di jOOQ 3.6, è possibile memorizzare tali colonne da qualche parte come:

Field<?>[] personName = { 
    PERSON.SALUTATION, 
    PERSON.FIRST_NAME, 
    PERSON.LAST_NAME 
}; 

E quindi selezionarli come tali:

db.select(personName) 
    .select(... some other fields); 
Problemi correlati