Skip to content

Querydsl Scala Syntax

timowest edited this page Dec 1, 2011 · 7 revisions
// query all
Address.all: Seq[Address] // Circumflex ORM
Address.all // Querydsl

// query by primary key
Address.get(id: PK): Option[Address] // Circumflex ORM
Address.find(pk) // Active Record
Address.where(_.id eq id) // Querydsl

// query first
Address.first // Active Record
Address.single // Querydsl

// order
Address.order("created_at") // Active Record
Address.orderBy(_.created_at asc)

// select
Address.select("viewable_by, locked") // Active Record
Address.select(_.viewable_by, _.locked) // Querydsl

// limit
Address.limit(5) // Active Record
Address.limit(5) // Querydsl

// offset
Address.offset(5) // Active Record
Address.offset(5) // Querydsl

// group
Order.select("date(created_at) as ordered_date, sum(price) as total_price").group("date(created_at)")
Order.groupBy(_.created_at).select(_.created_at, _.price)

// having
Order.select("date(created_at) as ordered_date, sum(price) as    total_price").group("date(created_at)").having("sum(price) > ?", 100)
Order.groupBy(_.created_at).having(_.price.sum() > 100).select(_.created_at, _.price.sum())

// join to many
Category.joins(:posts)
Category.join(_.posts, post) // Querydsl

// join to one
User.join(_.company, company)