After 2 years of development, Activate Persistence Framework 1.0 is out!

The project idea began from the frustration of using Java persistence frameworks. I was tired of accidental complexity, type-unsafe queries, patterns like DAO and methods such as store, merge, detach, etc. Why can’t it be simpler? One day, a friend of mine presented Scala to me. That moment was the definitive kick-off to start Activate. The power and simplicity of Scala was the final ingredient.

My reference of persistence was Prevayler. How to do something like Prevayler without store all data in memory? A persistence framework based on STM that implements the behavior of database in memory was the solution I have found. Using soft references, it can use all the available memory and rely on sophisticated Java GC to choose what entities stays in memory.

The project idea also was born while the NoSQL resurged. Inspired by this movement, the architecture was designed to provide pluggable persistence, allowing to write software that persists data in relational or non-relational storages in a homogeneous way.

I would like to thank people who contributed to the project directly or indirectly, especially Lau Borges for the website and tests.

I hope that Activate will be useful to the Scala community.

The official site and documentation:

1.0 Release notes:

- Migrations
- Play Framework support
- Mass update/delete statements
- Validation using Design By Contract
- Queries with “order by”
- Paginated queries
- Storage direct access
- System properties defined storage
- Better error messages
- It’s not necessary to use “-noverify” anymore
- Performance enhancements
- Bugfixes