View SQL query in Slick

src091 picture src091 · May 2, 2014 · Viewed 20.9k times · Source

Is there a way to observe an SQL statement that will be generated by Query?
For example, I have this:
val q = actions.filter(v => v.actionHash === hash && v.carriedAt > past)
Can I view its underlying raw SQL?

Answer

Ende Neu picture Ende Neu · May 2, 2014

Slick 2.X:

You can print the query statement as shown on the Slick documentation:

val invoker = q.invoker
val statement = q.selectStatement

For other type of statements look at insertStatement, deleteStatement and updateStatement.

Slick 3.X:

val res = table.filter(_.id === 1L).result
res.statements.foreach(println)

Docs.