2011-09-01 82 views

回答

5

只是想详细说明@didierd的回应。有一个会话/连接绑定到每个事务。您可以访问当前会话,从而连接用类似的代码:

Session.currentSession.connection 

或者,如果你不知道,如果你是一个交易

Session.currentSessionOption map {_.connection} 

内如果回滚以这种方式进行交易,您将有责任启动一个新的连接,或确保连接不再使用,因此请谨慎使用。

1

您必须将JDBC的java.sql.Connection(在Sessionconnection),所以如果你真的不能使用transaction/inTransaction,你可以调用回滚有一个访问。

通过访问连接,您也可以执行任意SQL请求并更改数据库模式,但要注意您的使用squeryl的代码具有静态编译时间已知模式。