Uniscala is a set of Scala libraries for developing business applications. Uniscala's top priority is to support and provide the Uniscala Granite wep application framework and the upcoming Uniscala Topaz identity management application. Uniscala includes several db4o utilities that work flawlessly on Scala!!

db4o is being used as the primary database in this work-in-progress Scala/DB4O/Wicket/JQuery web framework project which is stringly influenced by Zope/Plone. Some useful tools available here:

http://uniscala.net/mvn/uniscala-db4o/scaladocs/index.html

can be used independently of the framework. They will allow you to do, among other things, SODA queries like this:

val db:ObjectContainer =  // ... open database
val kwQuery = Query[FoodKeyword]
kwQuery.descend("keyword").startsWithIgnoreCase("bean")
kwQuery in db foreach { res => println(res(db) }


The Granite framework itself does other nice things like auto-committing the database after a web request (or rollback on uncaught exception), providing an IoC framework for hooking in the database and other services, and so on. It is designed for smaller/medium-size applications.

More info:

http://uniscala.net/
http://sourceforge.net/projects/uniscala/