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