2015-06-18 13 views
5

Mamy kilka niestandardowych typów, które odzwierciedlone są w wielu polach db. Na przykład:Wielozakresowy konwerter niestandardowy JOOQ

PersonName{ 
    String salutation, 
    String firstName, 
    String lastName 
} 

przechowywane jako 3 oddzielne pola db. I to nudne zawsze pisać

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

następnie pobrać rekord i utworzyć rodzaj PERSONNAME z odpowiednich pól rekordu.

Chodzi o to, aby zdefiniować niestandardowe wielokolumnowe pole PERSON_NAME, które zostanie rozszerzone przez jooq na trzy "prawdziwe" pola podczas wykonywania kwerendy i zapakowane do jednego obiektu PersonName w wyniku.

Wygląda na to, że można coś takiego zrobić z org.jooq.impl.AbstractField, ale zastanawiam się, może być rozwiązanie dla takiego przypadku.

Odpowiedz

0

Tam toczy się propozycje nowych funkcji do obsługi tego rodzaju funkcjonalność:

z out-of-the-box funkcjonalności z jOOQ 3.6, możesz przechowywać te kolumny gdzieś:

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

A następnie wybierz je jako takie:

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