問題タブ [scalaquery]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - Play フレームワーク + SLICK (Scalaquery) チュートリアル
SLICK (ScalaQuery) で Play フレームワークを使用するための優れたチュートリアルまたはサンプル プロジェクト (github) を知っている人はいますか? 私はそれらを連携させるのに苦労しています。
このエラーが発生しています:
ここに私の本のモデルがあります:
編集:
これは私の Build.scala です
scala - Slick (Scalaquery) - 挿入すると型エラーが発生する
Play フレームワーク アプリケーションで Slick (Scalaquery) を使用しています。洗練されたチュートリアルによると、挿入したい列の射影を定義できます。(私のインデックスは自動インクリメント列であるため、このプロジェクションを定義しています。)しかし、挿入でこのプロジェクションを使用すると、次のようなタイプ エラーが発生します。
私のモデルは次のように定義されています。
スタック トレースは次のとおりです。
私のインサートの何が問題なのかを指摘することで、誰かが私を助けることができますか?
playframework-2.0 - Play 2.0 プロジェクトで ScalaQuery を構成する
Play! で ScalaQuery を使ってみたかったのです。フレームワーク (バージョン 2.0.2) ですが、動作しません。Build.scala ファイルに次の行を追加しました。
しかし、「依存関係の再生」コマンドを実行すると、取得し続けます
jar を IntelliJ に追加しようとしましたが、明らかにそれだけでは十分ではなく、jar を認識する方法がわかりません。ScalaQuery (または Slick) を Play 2 で動作させることに成功した人はいますか?
scala - Scala でリレーショナル データベースのリンク テーブルをモデル化するにはどうすればよいですか?
Scala でかなりの数のオブジェクトの多対多マッピングを行い、それをリレーショナル データベースに保存する必要があります。
問題を単純化するための偽の例を次に示します。
講義室と学生をモデル化したいとしましょう。講義室には多くの学生がいる場合がありますが、それらの学生は別の部屋に行くこともできます。リレーショナル データベース モデルの観点から、ROOM 用、STUDENT 用、学生と部屋をリンクする ROOM_STUDENT 用の 3 つのテーブルを作成します。
テーブルが次のようになっているとします。
Scala を使用してそのようなデータベースにアクセスする (場合によっては作成する) 場合、たとえば ScalaQuery や SLICK を使用してこれを行うにはどうすればよいですか、またはより良い Scala ソリューションはありますか? これで何らかの方法でケースクラスを使用する必要がありますか、それとも単純な古いSQLを何らかの方法で使用する必要がありますか?
私は基本的にここで 2 つのヒントを期待しています。
scalaquery - ScalaQuery または SLICK でリンク テーブルを使用して多対多の関係を表現するにはどうすればよいですか?
最近、同様の質問をしたところ、Lift Mapper を使用して多対多の関係の問題を解決する素晴らしい回答が得られました。ScalaQuery/SLICKのドキュメントを見ましたが、リンク テーブルが関係するデータを永続化する方法については記載されていません。誰かが SLICK を使用して多対多のマッピングを行う方法を知っている場合は、共有していただければ幸いです。
scala - Scala の永続層からドメイン層を抽象化するにはどうすればよいですか
更新: タイトルを編集し、達成しようとしていることをよりよく説明するためにこのテキストを追加しました: ゼロから新しいアプリケーションを作成しようとしていますが、永続性についてビジネス層に知られたくありませんビジネス層に REST API 層を知られたくないのと同じように。以下は、使用したい永続化レイヤーの例です。これとの統合に関する適切なアドバイスを探しています。つまり、ビジネス ロジックと永続化ロジックの間で責任を明確に分割するための設計/アーキテクチャの支援が必要です。おそらく、ドメイン オブジェクトへの永続化オブジェクトのマーシャリングとアンマーシャリングに沿った概念です。
SLICK (別名 ScalaQuery)テスト例から、これは多対多のデータベース関係を作成する方法です。これにより、a、b、a_to_b の 3 つのテーブルが作成されます。a_to_b は、テーブル a と b の行のリンクを保持します。
次のステップとして、これを 1 レベル上げて (まだ SLICK を使用したいのですが、うまくラップします)、オブジェクトを操作したいと思います。したがって、疑似コードでは、次のようなことを行うのが素晴らしいでしょう:
または、そのようなもの。Java でこれにアプローチする方法についてのアイデアはありますが、純粋な OO 言語からのオブジェクト指向のアイデアのいくつかが失敗し始めていることに気付き始めています。Scalaでこの問題にどのようにアプローチするかについて、誰か私にいくつかの指針を教えてください。
例: テーブル オブジェクトをラップまたは拡張するだけの単純なオブジェクトを作成し、それらを管理する別のクラスにこれら (構成) を含めますか?
デザイナーおよびコーダーとして、この問題により適切にアプローチするのに役立つアイデア、ガイダンス、例 (お願いします) は大歓迎です。
mysql - Play2.0でMySQLドライバーが見つかりません
Play 2でScalaQueryを使用しようとしていますが、「...に適したドライバがありません」というエラーが発生し続けます。データベース接続は、Anorm/Ninaで正常に機能します。これが私のScalaQueryコードです:
sbtの依存関係を追加しました:
そして私はapplication.confにこれを持っています
(私はplayのDB.getDataSource()と一緒にforDataSourceメソッドを使用しようとしましたが、より良い結果は得られませんでした)
厄介なことの1つは、com.mysql._をインポートできないことです。そのため、ドライバーがダウンロードされていないようです(sbtがダウンロードしたと言っているにもかかわらず)。jarをダウンロードして、プロジェクトの下の/ libフォルダーに手動で追加しようとしましたが、インポートが機能しません。
行き詰まっていて、少し助けが必要です。:(
編集:「jdbc:mysql:// localhost / play2test」を削除して書き直しました(別のスレッドでそのヒントが見つかりました)が、新しい問題が発生しています:
ScalaQueryがMySQLに二重引用符を使用しているのはなぜですか?それを変更する方法は?
Edit2:問題は解決しました。ScalaQueryのSQLドライバーのインポートが間違っていました。
scala - ScalaQuery と Play フレームワーク: 割り当てられていない (AutoInc) 主キーを処理するためのベスト プラクティス
ScalaQuery 0.9.5 で Play 2.0.2 を使用しています。
次の単純なモデル コードがあります。
そして、フォーム送信を処理するための次のコード:
いくつかの質問:
1)定数を渡すよりも一時的な主キー値を処理するためのより良い方法はありますか? Anorm の NotAssigned に似たものはありますか?
2) フォーム マッピングに "id" -> ignore(-1L) を追加し、タスクのエクストラクタ関数を使用する方がよいでしょうか?
3) id フィールドなしでケース クラスを定義する必要がありますか?
scala - ScalaQueryのforループの条件でNamedColumnを解凍します
私はScalaとScalaQueryにまったく慣れておらず、数週間使用しています。関数を呼び出してクエリの条件を把握しようとしていますが、Tの代わりにNamedColumn [T]が表示されます。解凍するにはどうすればよいですか?
2番目のリンクの20行目を参照してください。
タイプマッパー付きのパッケージ:https ://gist.github.com/3469291
テーブルオブジェクト:https ://gist.github.com/3469291
e.created / modify / specialはNamedColumnsであるため、コンストラクターと関数呼び出しは機能しません。これを機能させるにはどうすればよいですか?
私は自分のオブジェクトをテストしませんでした。クラスを取得して、名前を削除して名前を変更しましたが、自分が持っていることとやりたいことを示すためだけです。
ありがとう。
scala - ScalaQuery/SLICK で列の MAX 値に基づいて行を選択する
次のようなテーブルがあるとします。
ユーザーが特定のアクションを実行した日付を保持します。すべてのユーザーが実行した最後のアクションを取得したい場合は、SQL で次のようにする必要があります。
ここで、次のような UserActions 用に scalaquery 0.9.5 でセットアップされたテーブル構造が既にあるとします。
私の質問は: ScalaQuery/SLICK では、どうすればそのようなクエリを実行できますか?