0
私はclj-record/transaction 2ラップ2レコード作成を使用しています。エラーが発生した場合、clojure.contrib.condition/raiseを使用して例外をスローしますが、これは何も戻されません。何か案は?cljレコードトランザクションのロールバック
私はclj-record/transaction 2ラップ2レコード作成を使用しています。エラーが発生した場合、clojure.contrib.condition/raiseを使用して例外をスローしますが、これは何も戻されません。何か案は?cljレコードトランザクションのロールバック
私はclojure.contrib.sql /専用セットのロールバックを使用するために必要:
(ns my.namespace.txtest
(:use clojure.contrib.condition)
(:require clj-record.boot
[clj-record.callbacks.built-ins :as cb]
[clj-record.core :as rec]
[clj-record.validation.built-ins :as valid]
[clojure.contrib.sql :as sql]))
(def db {:classname "com.mysql.jdbc.Driver"
:subprotocol "mysql"
:user "mydb"
:password "password"
:subname "//localhost/mydb"})
(defn do-something
(rec/transaction db
(do-something)
(if (some-error-test)
(do
(sql/set-rollback-only)
(raise :type "some-error" :message "Oops")))))
私は私がアプリケーションエラーではなく、参照整合性の問題に例外を上げてることに注意してください。 – edoloughlin