Speedment Open Source

OSS Java Stream ORM for Open Source Databases.

Write Database Applications While Remaining in a Pure Java World

Speedment Open Source is the equivalent of Speedment Stream limited to use with Open Source databases. Like Stream, it analyzes the metadata of an existing SQL database and automatically creates a Java representation of the data model. Queries are then expressed as standard Java Streams instead of a sequences of SQL constructs.

SQL
JAVA STREAM
FROM stream()
COUNT count()
LIMIT limit()
SELECT map()
WHERE filter() (before collecting)
HAVING filter() (after collecting)
JOIN flatmap()
UNION concat(s0, s1).distinct()
ORDER BY sorted()
OFFSET skip()
GROUP BY collect(groupingBY())

View Database Tables as Standard Java Streams

Pure Java - Stream API instead of SQL eliminates the need of a query language

Dynamic Joins - Ability to perform joins as Java streams on the application side

Parallel Streams - Workload can automatically be divided over several threads

Lazy Evaluation for Increased Performance

Streams are Lazy - Content from the database is pulled as elements are needed and consumed

Pipeline Introspection - Optimized performance by short circuiting of stream operations

Short and Concise Type-safe Code

Code Generation - Automatic generation of a Java representation of the database eliminates boilerplate code and the need of manually writing Java Entity classes

Null Protection - The risk involved with database null values is eliminated by use of Java Optionals

Enum Integration - Mapping of String columns to Java Enums increases memory efficiency and type-safety

Integrate with an Open Source RDBMS

Speedment Open Source currently supports SQLite, MariaDB, PostgreSQL and MySQL.