{"repo":"OkaeriPoland/okaeri-persistence","free":true,"listed":false,"github":"https://github.com/OkaeriPoland/okaeri-persistence","clone":"git clone https://github.com/OkaeriPoland/okaeri-persistence.git","description":"Java ODM / Unified persistence API: Store JSON in PostgreSQL, MariaDB, H2, Redis... or just use MongoDB like we meant you to. Technically backend-agnostic, spiritually MongoDB.","language":"Java","stars":30,"topics":["jdbc","h2","mongodb","mysql","odm","redis","json","mariadb","yaml","minecraft"],"license":"MIT","category":"databases-storage","readme_excerpt":"Okaeri Persistence Object Document Mapping (ODM) library for Java - store JSON documents in MongoDB, PostgreSQL, MariaDB, H2, Redis, or flat files with a consistent API. Write your data layer once, run it anywhere. Features - Write Once, Run Anywhere : Swap databases with one line - the core Java philosophy (without the XML hell) - Fluent Query DSL : Filtering, ordering, and pagination across all backends (native for MongoDB/PostgreSQL/MariaDB/H2, in-memory for others) - Fluent Update DSL : Field and array operations (native atomic for MongoDB/PostgreSQL/MariaDB, in-memory for others) - Repository Pattern : Define method names, get auto-implemented finders ( findByName , streamByLevel , etc.) - Unified Indexing : Declare indexes once, backends create native indexes when supported - Document-Based : Store data as JSON/YAML documents - flexible but not schema-free - Streaming Support : Process large datasets with Java streams and automatic batching The Philosophy (and the Pitfalls) The Good : Write your persistence code once against our interface, switch from MongoDB to PostgreSQL without changing application code. Your dev team can use H2, staging uses PostgreSQL, production uses MongoDB. Same code. The Catch : You're trading database-specific optimizations for portability. Need MongoDB's aggregation pipeline? You'll have to fetch and process in Java. Need PostgreSQL's full-text search? Same deal. This library is for when you value flexibility and developer velocity over squee","default_branch":null,"files":null,"tree":[],"storefront":"/r/OkaeriPoland","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/OkaeriPoland/okaeri-persistence/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}