2

誰かがsquerylでトランザクションのロールバックを明示的に処理する方法を教えてもらえますか?

また、squerylの列を動的に追加または削除するにはどうすればよいですか?

ありがとう...

4

2 に答える 2

5

@didierdからの応答について少し詳しく説明します。各トランザクションにバインドされた1つのセッション/接続があります。現在のセッションにアクセスできるため、次のようなコードで接続にアクセスできます。

Session.currentSession.connection

または、トランザクション内にいるかどうかわからない場合

Session.currentSessionOption map {_.connection}

この方法でトランザクションをロールバックする場合は、新しいトランザクションを開始するか、接続がそれ以上使用されないことを確認する必要があるため、注意して使用してください。

于 2011-09-01T16:25:15.330 に答える
1

java.sql.ConnectionJDBC (connectionの)にアクセスできるので、本当に/をSession使用できない場合は、そこでロールバックを呼び出すことができます。transactioninTransaction

接続にアクセスすると、任意のSQL要求を実行してデータベーススキーマを変更することもできますが、squerylを使用するコードには静的なコンパイル時の既知のスキーマがあることに注意してください。

于 2011-09-01T11:28:03.640 に答える