Hi Derek and interested parties I know there is a showSQL option that can be enabled with JTA/Hibernate but I find the output verbose and uninformative about parameter replacement.
So, I have my own ScalaQuery that allows simple debugging - the main differences are - var queryParams: List[Pair[String,Any]] = Nil /* the following method needs to be called by the various SetParameter methods */ def addParam(one: String,two: Any) = { query.setParameter(one, two) queryParams = (one, two) :: queryParams } /* output the query with parameters substitued, for debugging ... */ def getQueryWithParams() = { var q = queryStr try { queryParams.foreach{v => var rep = v._2 match { case d: Date => "'"+SUtil.formatDate(d, "dd/MM/yyyy")+"'" case s: String => "'"+s+"'" case x => if (x==null) "" else x.toString } rep = rep.replaceAll("\\$", "ddDollardd") // stupid bug q = q.replaceAll(":"+v._1, rep) } q.replaceAll("ddDollardd", "\\$") } catch { case e: Exception => q+" PARAMS "+queryParams+ " EXCEPTION "+e } } With this I can log the query via Log.info(emailQuery.getQueryWithParams()) Better still, (assuming execOnce exists in a utility object) when I only need to see the query once in the log /* execulte execFn, just once for the jvm. */ val execOnceSet = scala.collection.mutable.Set("") def execOnce(key: String, execFn: => Unit) = { if (!execOnceSet.contains(key)) { execOnceSet += key execFn } } execOnce("findByEmail", Log.info(emailQuery.getQueryWithParams()) ) You can add the functionality if you find it useful cheers Oliver --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~----------~----~----~----~------~----~------~--~---