A Scala ORM and DSL for talking with Databases with minimum verbosity and maximum type safety

Write compiler validated statements.

Squeryl statements that pass compilation won’t fail at runtime. Refactor your schema as often as is required, the Scala compiler and your IDE will tell you exactly which lines of code are affected.

Never repeat yourself

The Composability of Squeryl statements allows you to define them
once and reuse them as sub queries within other statements.

Write declaratively

Write as declaratively as SQL, only with less boilerplate. SQL’s declarativeness is preserved, not encapsulated in a lower level API that requires imperative and procedural code to get things done.

Explicitly control retrieval granularity and laziness

A significant part of optimizing a database abstraction layer is to choose for every situation the right balance between fine and large grained retrieval, and the optimal mix of laziness and eagerness. Data retrieval strategies are explicit in Squeryl rather than driven by configuration like current generation Java ORMs read more