sql >> データベース >  >> RDS >> Mysql

Slick 3.0(scala)クエリは、複数回実行されるまでデータを返しません(私は思います)

    すべてのDB呼び出しはすぐに返されます Futures 、たとえ彼らが彼らの操作を終えていなくても。これは非同期であり、同期ではありません。

    Futuresに対応するようにコードを変更できます 2つの方法のいずれかで:

    1. Await.resultを使用できます すべてのDB呼び出しで、完了するまでその時点で待機します。例:Await.result(db.run(insertEffect), Duration.Inf)

    2. .mapを使用できます (または.flatMap 別のFutureを使用している場合 内から)、DB操作が完了したときに実行するコードを使用します。例:db.run(insertEffect).map(_ => ... do stuff... )

    別のスタックオーバーフローをご覧くださいスレッド 原因に関するいくつかのアイデアを伴う例外に関して。




    1. PostgresPlus AdvancedServer9.3Betaの新しいOracle互換機能

    2. Eclipse内でMySqlデータベースを使用する方法

    3. MySQL文字列をSQLServerの同等のものに変換する方法

    4. MySqlConnectionStringBuilder-証明書で接続する