Welcome

Welcome to the EclipseStore Reference Manual. This manual includes concepts, instructions and examples to guide you on how to use EclipseStore, version 4.0.1.

What is EclipseStore?

EclipseStore is a Java-native object graph persistence engine. Instead of mapping your objects to tables (like an ORM) or documents (like a document database), EclipseStore stores your Java object graph directly in its native structure.

Key Benefits

  • No mapping required — store plain Java objects without annotations, schemas, or mapping files

  • Ultra-fast — binary serialization is significantly faster than traditional database approaches

  • Almost any Java type — persist almost any Java object, including collections, records, and custom types, see Supported Java Features

  • Flexible storage targets — store on local file system, cloud storage (S3, Azure, GCS), SQL databases, Redis, Kafka, and more

  • Lazy loading — load only the data you need, when you need it

  • ACID transactions — full transactional guarantees for data consistency

  • Minimal dependencies — lightweight with only SLF4J as an external runtime dependency

How Does It Compare?

EclipseStore Traditional Database + ORM

Data model

Plain Java objects

Tables/Documents + mapping layer

Query language

Java streams and methods

SQL / JPQL / proprietary

Schema management

Automatic type evolution

Migration scripts

Setup complexity

Minimal (1 dependency)

Database server + driver + ORM framework

You should be familiar with the Java programming language and you should have installed your preferred Integrated Development Environment (IDE).

Quick Start

// Define your data model as plain Java classes
public class DataRoot
{
    private final List<String> messages = new ArrayList<>();

    public List<String> getMessages() { return messages; }
}

// Start the storage
DataRoot root = new DataRoot();
EmbeddedStorageManager storage = EmbeddedStorage.start(root, Paths.get("data"));

// Store data
root.getMessages().add("Hello EclipseStore!");
storage.store(root.getMessages());

// Shutdown
storage.shutdown();

For a complete guide, see Getting Started.

What’s new in 4.0.1

See Changelog.

Architecture

For a high-level overview of how EclipseStore and the Eclipse Serializer relate, see Architecture Overview.

Examples and Demo Projects

Examples Collection

A collection of examples with different topics:

BookStore Demo

The BookStore Demo is a fully fledged sample application. It shows how to design an application with EclipseStore from the ground up.

License

EclipseStore is available under Eclipse Public License - v 2.0.