What is Speedment?

Speedment is a powerful open source Java Stream ORM toolkit and runtime. It provides developers with a seamless way to interact with an SQL database by intelligently analyzing the metadata and automatically generating a Java representation of the data model.

This means that you can easily and confidently develop scalable and efficient Java applications using the widely-used standard Java streams, without having to write SQL queries or learn new APIs.

Originally developed by a team of highly skilled researchers and engineers based in Palo Alto, Speedment was created with the primary objective of simplifying and streamlining the development process of Java database applications.

By leveraging the full potential of the Java Stream API, Speedment empowers developers to write code more efficiently and effectively, resulting in faster and more reliable applications.

Features

  • View Database Tables as Standard Java Streams
    • Pure Java - Stream API instead of SQL eliminates the need for 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
  • Short and Concise Type Safe Code
    • Code Generation - Automatic Java representation of the latest state of your database eliminates boilerplate code and the need for manually writing Java Entity classes while minimizing the risk for bugs.
    • Null Protection - Minimizes the risk involved with database null values by wrapping them in Java Optionals
    • Enum Integration - Mapping of String columns to Java Enums increases memory efficiency and type safety
  • 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 stream operations

Requirements

Java Version

Speedment requires Java 8 or later. Make sure your IDE is configured to use JDK 8 (version 1.8.0_40 or newer).

Database Connectors

Speedment Open Source comes with support for the following databases out-of-the-box:

  • MySQL
  • MariaDB
  • PostgreSQL
  • SQLite

Enterprise database connectors include:

  • AS400
  • Cassandra
  • DB2
  • Informix
  • Oracle
  • Snowflake
  • SQL Server

License

Speedment is proudly licensed under the business-friendly Apache 2 license, encouraging active contribution from users.

  • Copyright (c) 2014-2019, Speedment, Inc. All Rights Reserved
Speedment Open Source - This site covers the Speedment Open Source project available under the Apache 2 license.
Speedment Stream - The same great features as Speedment OSS with support for commercial databases. Learn more at speedment.com/stream.
Speedment HyperStream - An extension av Speedment Stream which also includes hypersonic query performance enabled by a unique in-JVM-memory management model. Learn more at speedment.com/hyperStream.

Resources & Downloads

GitHub - speedment/speedment: Speedment is a Stream ORM Java Toolkit and Runtime
Speedment is a Stream ORM Java Toolkit and Runtime - GitHub - speedment/speedment: Speedment is a Stream ORM Java Toolkit and Runtime