zrobiłem stosowanie następujących implementacje WZP:Implementacje JPA - Który z nich jest najlepszy w użyciu?
- Hibernate,
- Toplink,
- OpenJPA
Każdy z nich ma swoje mocne i słabe strony. Znalazłem Hibernate najbardziej zaawansowaną z trzech, poza tym, że połączyło niektóre własne ulepszenia z JPA, co utrudniło przejście do innych dostawców. Co najważniejsze, jego analizator zapytań był znacznie łagodniejszy przy interpretowaniu JPA. Ułatwiają one uzyskanie odpowiednich bibliotek do obsługi hibernacji, ponieważ uważam, że jest to misja próbująca uzyskać odpowiednie wersje wszystkich zależności.
Toplink był w porządku, ale pozostało mu uczucie, że jest lekko okaleczony, ponieważ wygląda na to, że Oracle chce używać/kupować? ich bardziej zaawansowana biblioteka. Próba pobrania go była również misją, ponieważ trzeba ją zainstalować, uruchamiając plik jar. Zauważyłem, że zaimplementował tylko bazową specyfikację JPA. Powodem, dla którego go użyłem był hibernate używa wielu bibliotek, które są powszechnie używane w innych projektach open source, które często bywają problemy z klasą, szczególnie gdy używa się JBoss
OpenJPA - To jest zdecydowanie najlepsza dokumentacja i jest łatwe do pobrać i używać, ale wydaje się, że jest bardzo błędny. Może to tylko mój kod, ale znalazłem bardziej zaawansowane zastosowanie, takie jak OneToMany relacje z CascadeType.all ustawione po prostu nie działa. Wprawdzie może to być mój kod, który był błędny i nie miałem czasu przetestować czystego przypadku, ale wiele takich incydentów sprawia, że boję się go użyć. Naprawdę mam nadzieję, że będzie lepiej. Komunikaty o błędach są często bezużyteczne w rozwiązywaniu problemu.
Z jakich innych bibliotek korzystają ludzie i które wolą i dlaczego?
EclipseLink jest (imho) lepszy od wszystkich tych. – cletus
co z obiektem objectdb? www.objectdb.com – user3111525
lub EBean! http://www.avaje.org/ –