piątek, 13 maja 2016

Zanim zdecydujesz się przejść na date/time API Javy 8

Niewątpliwie czytałeś o zaletach, możliwościach nowej biblioteki javy do obsługi daty i czasu. Jeśli nie, to polecam zapoznanie się:
http://www.oracle.com/technetwork/articles/java/jf14-date-time-2125367.html

 No to gdzie haczyk?

Nie ma haczyka, niemniej chwilę po zdecydowaniu się na LocalDate, LocalDateTime, LocalTime, Duration itd. przychodzi szara rzeczywistość.

1. primefaces

Okazuje się, że komponent <p:calendar/> wymaga konwertera, gdyż przeznaczony jest do starego typu java.util.Date, podobnie <f:convertDateTime/>.
Oczywiście napisanie konwertera to nic problematycznego i jest wiele przykładów w internecie, niemniej chciałoby się od razu mieć wszystko podane na tacy, w końcu miało być lepiej.

2. dozer

Kolejny zawód :( Aktualna wersja (tj. 5.5.1) nie obsługuje nowych typów.

Tutaj możemy skorzystać z biblioteki, zawierającej konwertery. Źródła i instrukcja co i jak w linku: https://github.com/GeBeater/dozer-jdk8-support. Ok, wystarczy dodanie dependency w pom-ie i po sprawie.

Możemy też zamiast tego po prostu użyć opcji copy-by-reference.

3. hibernate

I tu możesz natknąć się na problemy. Jeśli korzystasz z hibernate, przejdź na wersję 5, która obsługuje nowe typy javy 8.


Jak już przebrniesz przez początkowe "trudności", to możesz korzystać z dobrodziejstw biblioteki java.time :) Mam nadzieję, że nie daliście się zniechęcić. Do boju!



0 komentarze:

Prześlij komentarz