ドキュメント

§Play Slick FAQ

§どのバージョンを使用すればよいですか?

使用する必要があるバージョンを知るには、互換性マトリックスをご覧ください。

§play.db.poolは無視されます

実際にそうです。 play.db.poolの値を変更しても、Slickが使用するコネクションプールには影響しません。理由は単純で、Play Slickモジュールは現在、HikariCP以外のコネクションプールの使用をサポートしていないためです。

§Slickで使用されるコネクションプールの変更

Slickでは、HikariCP以外のコネクションプールを使用できますが(ただし、Slickは現在HikariCPの組み込みサポートのみを提供しており、別のコネクションプールを使用する場合はJdbcDataSourceFactoryの実装を提供する必要があります)、Play Slickは現在、HikariCP以外のコネクションプールの使用を許可していません。この機能が必要な場合は、Playディスカッションフォーラムにご連絡ください。

§play.api.db.DBApiへのバインディングは既に設定されています

Playアプリケーションの起動時に次の例外が発生した場合

1) A binding to play.api.db.DBApi was already configured at play.api.db.slick.evolutions.EvolutionsModule.bindings:
Binding(interface play.api.db.DBApi to ConstructionTarget(class play.api.db.slick.evolutions.internal.DBApiAdapter) in interface javax.inject.Singleton).
 at play.api.db.DBModule.bindings(DBModule.scala:25):
Binding(interface play.api.db.DBApi to ProviderConstructionTarget(class play.api.db.DBApiProvider))

jdbcプラグインを有効にしている可能性が高く、データベースへのアクセスにSlickを使用している場合は、これはあまり意味がありません。問題を解決するには、プロジェクトのビルドからPlay *jdbc*コンポーネントを削除するだけです。

別の可能性として、DBApiを他の具体的な実装にバインドしている別のPlayモジュールがあることが考えられます。これは、データベースアクセス用の別のPlayモジュールと一緒にPlay Slickを使用しようとしていることを意味し、これはおそらく意図したものではありません。

§Playがjava.lang.ClassNotFoundException: org.h2.tools.Serverをスローする

Playアプリケーションの起動時に次の例外が発生した場合

java.lang.ClassNotFoundException: org.h2.tools.Server
        at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
        ...

これは、H2データベースを使用しようとしていますが、プロジェクトのビルドに依存関係を追加するのを忘れていることを意味します。問題の解決は簡単で、プロジェクトのビルドに不足している依存関係を追加するだけです。例:

"com.h2database" % "h2" % "${H2_VERSION}" // replace `${H2_VERSION}` with an actual version number

次: Anormを使用してデータベースにアクセスする


このドキュメントに誤りを見つけましたか?このページのソースコードはこちらにあります。ドキュメントガイドラインを読んだ後、プルリクエストを送信してください。質問やアドバイスがあれば、コミュニティフォーラムにアクセスして、コミュニティとの会話を始めてください。