Mam duże drzewa obiektów Java w mojej aplikacji pulpitu i staram się wybrać najlepszy sposób na utrzymanie ich jako plik w systemie plików.Jaki jest najlepszy sposób na utrwalanie danych w aplikacji Java Desktop?
Niektóre myśli ja miałem były:
rolki moje własne serializer użyciu DataOutputStream: Dałoby mi największą kontrolę, co było w pliku, ale kosztem micromanaging go.
Prosta stara serializacja za pomocą ObjectOutputStream i jego różnych powiązanych klas: Nie jestem na tym sprzedawany, ponieważ uważam, że dane są kruche. Zmiana struktury dowolnego obiektu powoduje zerwanie serializowanych jego wystąpień. Więc jestem zamknięty w tym, co wydaje się koszmarnym wersjonowaniem koszmaru.
Serializacja XML: To nie jest tak kruche, ale znacznie wolniejsze niż prostowanie serializacji. Może być przekształcona poza moim programem.
JavaDB: Zastanawiałem się nad tym, ponieważ nie mam problemów z pisaniem aplikacji JDBC. Różnica polega na tym, że instancja bazy danych przetrwałaby tylko podczas otwierania lub zapisywania pliku. Nie jest to ładne, ale ... umożliwia migrację do architektury centralnego serwera, jeśli zajdzie taka potrzeba później i wprowadzi możliwość łatwiejszego wyszukiwania datownika w prostszy sposób.
Ciekawi mnie, co myślą inni. I mam nadzieję, że ominęło mnie oczywiste i prostsze podejście niż te powyżej.
Oto kilka odpowiedzi zaczerpnięte z poniższych opcji:
- bazy danych Object - znacznie mniej niż ORM infrastruktury podejść i wykonuje się szybciej niż podejścia XML. dzięki aku