Speedment is an open source Java Stream ORM toolkit and runtime. The toolkit analyzes the metadata of an existing SQL database and automatically creates a Java representation of the data model. This powerful ORM enables you to create scalable and efficient Java applications using standard Java streams with no need to type SQL or use any new API.
Speedment was originally developed by researchers and engineers based in Palo Alto with the purpose to simplify and streamline the development of Java database applications by leveraging the Java Stream API.
Speedment is licensed under the business-friendly Apache 2 license. Contribution from users is encouraged. Please feel free to request new features, suggest improvements and file bug reports. Read more about contributing here.
Assuming you have Maven installed and a relational database available, you can start using Speedment in a minute:
There is a remarkable resemblance between Java streams and SQL as summarized in the simplified table. This means there is no need for manually writing SQL-queries any more. You can remain in a pure Java world!
Search in a film database for a film with a length greater than 120 minutes:
// Searches are optimized in the background! Optional<Film> longFilm = films.stream() .filter(Film.LENGTH.greaterThan(120)) .findAny();
Results in the following SQL query:
SELECT `film_id`,`title`,`description`,`release_year`, `language_id`,`original_language_id`,`rental_duration`,`rental_rate`, `length`,`replacement_cost`,`rating`,`special_features`, `last_update` FROM `sakila`.`film WHERE (`length` > 120)
Speedment is equipped with the features listed below and more.
The tutorials are divided into three sections. The basics are covered in the first section without any expected prior knowledge of Speedment. This builds a foundation of knowledge needed to fully benefit from the following tutorials.
Java 8 or later. Make sure your IDE is configured to use JDK 8 (version 1.8.0_40 or newer).
Speedment Open Source comes with support for the following databases out-of-the-box:
Enterprise database connectors include:
For more information, see Speedment Licensing and Pricing.
Copyright (c) 2014-2019, Speedment, Inc. All Rights Reserved. Visit www.speedment.com for more info.