私には哲学的な質問があります。Play Framework 2.5.x Scala Slick実装スタイル
私はここ数年、Play Framework for Javaを非常に満足しています。今私はScalaと関数型プログラミングに目を向けようとしています。 Javaベースのプレーでは、私はEbeanを使用しています。そのため、Playのドキュメントによると、Ebean Modelクラスを拡張し、独自のモデルを実装しました。各モデルでは、クエリを呼び出すためにFinder型の静的変数を宣言しました。これらはすべて文書化されており、うまく機能しています。
しかし、ScalaベースのPlay(v2.5.x)では、持続層に関するドキュメントがあまり多くありません。 OK、私はそれが機能プログラミングのアイデアを使用しているので、Play Slickの勧告があることを理解しました。私はそれについて大変興奮していますが、それを使用する方法に関するドキュメントはほとんどありません。 Slickを有効にする方法、データソースとdbサーバーを設定する方法、dbをControllerに注入する方法を見つけました。また、dbの簡単なクエリを呼び出す方法については、非常に小さな例があります。
質問は:どのように実際にスリックを使用するのですか?私はいくつかの第三者のチュートリアルやブログを研究し、それは複数の方法があるようです。
1)モデルの定義方法は?モデル自体を定義するためには、ケースクラスを使用する必要があるようです。私は列とそのプロパティを定義するためにクラスを拡張するクラスを定義する必要がありますか?
2)プロジェクトの構造は何ですか?モデルごとに新しいスカラファイルを作成する必要がありますか? Javaのコンベンションによって私はすべきですが、時にはすべてのモデルを(Python Djangoのような)1つのscalaファイルで見たことがあります。私は別々のファイルが良いと仮定します。
3)モデルを操作するためにDAOを作成する必要がありますか?それともサービスのようなものを作るべきですか?コードはおそらく非常に同じでしょう。私が求めているのは、プロジェクトの構造です。
もスリックのためのタイプセーフアクティベーターのテンプレートがあり part of the Slick documentation私は心をこめてはじめにお勧めすることができます任意のアイデア
play2.5の間違ったplay-slick/evolutions。とにかく質問に答えているとは思えません。とにかく、主に意見に基づいて質問をするべきだと私は考えていますが、 – suish
バージョンを修正しました。私は質問自体が少し広範であることに同意しますが、私はまだそれが有効なものだと思います。あなたは別の答えを提供することは自由です、私は鉱山を更新する予定です – Anton
ありがとう、私はこの質問を投稿した直後にSlickの文書全体を発見しました。その前に、私はまだPlayのサンプルでグーグルをしていて、元のSlickのウェブサイトを見逃していました。しかし、いくつかの貴重な例と説明があります。 – spidla