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.

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.

Never repeat yourself

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