2017-12-14 18 views
0

経験豊富なScala/Playプログラマーにアドバイスをお願いします。Play 2.6 + Slick 3.xのエクスペリエンスとサンプル

私はPlay Framework 2.xをJavaで長年使用しています。今私はPlayのScalaバージョンがJavaよりもはるかに優れていると言われているように、ScalaバージョンのPlayを学びたいと思います。

私は実際には言語そのものに感銘を受けました。私はScalaとPlayの関係を理解し​​ています。しかし、Scalaで使用されるデータベースライブラリにはいくつか問題があります。

私はそれらのいくつかを試しましたが、最終的にはScala言語のアイデアの点で最も有望に見えるので、Slickにとどまっていました。 Javaの世界から、私はORM、特にPlay Ebeanに慣れていました。私はオブジェクトグラフのロードという考え方が好きだったので、DBからCustomerエンティティをロードし、Customerの契約、チケット、その他の実体に渡すことができます。すべてのSQLの選択と結合は、私のためにORMによって行われました。

今...私は完全に理解しています、スリックはORMではありません。私はそれで生きることができます。しかし、私はPlay/Slick/Scalaで書かれた実際のアプリケーションを探していますので、Slickの使用に関するベストプラクティスを観察できます。私がインターネット上で見つけることができるのは、データベースに接続し、基本的な挿入/更新/削除操作を行う非常に基本的な例です。

テーブルと他のものとの関係を使用する複雑な例はありません。これは、1つのテーブルから行を保存/読み込むよりも複雑です。

これを学ぶ方法に関するアイデアはありますか?

答えて

1

いくつかのポイント - あなたがプレイのScalaのバージョンを学ぶのではなくスカラ

を書くことを学ばないはい、あなたは、リレーショナルマッピングライブラリに関して正しい選択をした - スリック。しかし、私はまだ生産準備ができていないと思うが、スリックよりもはるかに進んだと思われるQuillという別のライブラリがあります。

https://github.com/getquill/quill

私がプレイしてスリックを使用していくつかの基本的な例を持っています。私は複雑な結合をしていませんが、ここであなたに役立つサンプルがあります!

https://github.com/joesan/plant-simulator/blob/master/app/com/inland24/plantsim/services/database/DBSchema.scala

あなたはスカラ座を初めて使用する場合、私はあなたがプレイ、スリックおよびその他のScalaベースのライブラリに入る前に、最初に言語を習得することをアドバイスします。

+0

ありがとうございました!あなたがいくつかのプログラミング言語を使っている経験があれば、他のプログラミング言語を簡単に学ぶことができると私は信じています。私は実際に何かを書くことによって言語を学ぶことを好む(個人的な使用のための非生産的なアプリなど)。とにかく、私はhttps://twitter.github.io/scala_school/でレッスンを受け、いくつかの基本を学び、他の言語との違いを見てみましょう。 – spidla

関連する問題