squerylのチュートリアルを見たけれどコードが断片になっているのでぱっと見で分かりにかった。
ひとまとめのサンプルコードがあった方が分かりやすい。

環境
-scala2.8.1
-squeryl0.9.4-RC6
-h2database1.3.154

今回の場合、DBをメモリに置いてるのでtransaction毎にテーブルが消えることに注意。
1トランザクションで処理する必要がある。

以下、一通り動作するコード。

import org.squeryl._
import org.squeryl.adapters._
import org.squeryl.Session
import org.squeryl.SessionFactory
import org.squeryl.PrimitiveTypeMode._

class Author(val id: Long,
	     val firstName: String,
	     val lastName: String,
	     val email: Option[String]) {
	def this() = this(0,"","",Some(""))
}

object MySchema extends Schema {
	val authors = table[Author]
}

object App {
	def main(args: Array[String]):Unit = {
		Class.forName("org.h2.Driver")
		SessionFactory.concreteFactory = Some(() =>
					Session.create(
						java.sql.DriverManager.getConnection("jdbc:h2:mem:db1"),
						new H2Adapter))
		transaction {
			MySchema.printDdl
			MySchema.create
			MySchema.authors.insert(new Author(1,"ore","desuyo", Some("example@example.com")))
			println(MySchema.authors.where(a => a.id === 1).single.firstName)
		}
	}
}