जैसा कि किम स्टीबेल ने कहा था, सामान्य समाधान यह है कि आपके पास पहले से मौजूद एप्लिकेशन का उपयोग करना है, जो कि अधिकांश समय डेटाबेस इंजन है, जो संबंधपरक है या नहीं। ऐसा इसलिए है क्योंकि ज्यादातर समय, उपयोगकर्ता वरीयताएं कुछ अन्य डेटा के बाद आती हैं जहां पहले से ही जारी है।
लेकिन आपके मामले में, ऐसा लगता है कि फ़ाइल सिस्टम आप दृढ़ता इंजन है, और आपको चर्चा की सुविधा के लिए लेन-देन या अत्यधिक अच्छे पढ़ने/लिखने के प्रदर्शन की आवश्यकता नहीं है, इसलिए मैं उस हिस्से को सबसे सरल संभव रखूंगा जब तक कि कुछ अन्य दृढ़ता इंजन की आवश्यकता न हो: मैं केवल कुछ वरीयता प्रारूप (जेएसओएन या एक्सएमएल दिमाग में आता है) में उपयोगकर्ता वरीयता ऑब्जेक्ट को क्रमबद्ध करता हूं और उन्हें फाइल सिस्टम में सहेजता हूं: अब के लिए नरक मैपिंग नहीं, कोई समयपूर्व पसंद नहीं है (और भ्रष्ट होने की संभावना भी^डब्ल्यू अपने पसंदीदा पाठ संपादक के साथ अपने उपयोगकर्ता प्राथमिकता संपादित करें, सीधे सर्वर, हाँ पर;)
कहा जा रहा है, वहाँ स्काला में या जावा पारिस्थितिकी तंत्र से, कि इस काम के लिए अच्छा ढांचे की एक टन है।
एक्सएमएल मैपिंग के लिए, मुझे कोई बात नहीं है स्कैला मूल पुस्तकालय सबसे अच्छा विकल्प है। इसके साथ एक्सएमएल संरचना का उत्पादन करना आसान है, लेकिन एक्सएमएल से स्कैला ऑब्जेक्ट में मैपिंग सबसे भयानक है। एक्सस्ट्रीम (http://x-stream.github.io/) इसके लिए काफी अच्छा है, लेकिन आपको जावा संग्रह का उपयोग करना होगा, या अपना खुद का जोड़ना होगा (और यह 'सबसे सरल' का मेरा विचार नहीं था)।
JSON मैपिंग के लिए, स्कैला में कई वास्तव में अच्छी पुस्तकालय हैं। गूगल और अन्य stackoverflowers अधिक जानकारी के लिए हो सकता है, लेकिन मैं जानता हूँ कि वहाँ कम से कम इन दो:
आशा है कि यह मदद करता है,
जब मैपिंग करने के लिए आया, तो वाईएएमएल पहला गेम है जो नाटक के संदर्भ में दिमाग में आया था। Snakeyaml लाइब्रेरी पहले से ही आपके क्लासपाथ पर है ... जैसा कि जीसन लाइब्रेरी करता है। – sdespolit