問題タブ [anorm]
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.
mysql - Scalaanormは挿入されたIDを取得します
idフィールドにautoidを持つテーブルがあります。anormで行を挿入した後、生成されたIDを取得したいと思います。何か案が?
scala - Play ConsoleでANORMを使用するにはどうすればよいですか?
ANORMを使用してPlayConsoleのdbに接続したいのですが、いくつかのテストを行うだけです。しかし、データソースを作成するときにいくつかのエラーがあります
scala - Anorm は executeUpdate でロックしているだけです
私は非常に単純な Play 2.1 Scala プロジェクトを持っています。のように、これはこれまでのところ唯一のコードです。で実行しているタスクがありますAkka.system.scheduler
。データベース (現在は標準のテスト H2 インスタンス) から選択するコードがいくつかあり、ドキュメンテーションの例にほぼ正確に従っています。
2.5を超えることはありません。他のデータベース操作は発生していません (進化を除く)。
ヘルプ?
scala - AnormのexecuteInsertから返されたAnyをLongにキャストするにはどうすればよいですか?
私のScalaPlayframeworkアプリでexecuteInsert
、sms_token(class)を作成しようとしています。次に、主キーを使用して一意のトークンを作成し、それをsms_tokenに追加して、で保存しexecuteUpdate
ます。
方法:
私の質問はこの部分に関するものです:
executeInsertはAnyオブジェクトを返しますが、キーがLongでasInstanceOf[Long]
あるため、後で更新部分で必要になるため、これを実行しています。私はScalaの初心者なので、これが正しいかどうかはわかりません。もっと良いScalaの方法があるのではないでしょうか。
database - スカラ アノーム。例外を挿入します。パラメータ インデックスが範囲外
ユーザーデータを DB に挿入しようとしています。すべてのパラメーターを確認しました。データは正しいですが、それでも例外がスローされます
java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).
コードはこんな感じ
H2を使用しようとしましたが、現在はMySQLを使用していますが、同じエラーがあります
sql - Play Framework Scala Anorm パラメータ インデックスが範囲外
Play Framework 2.1 を使用していますが、この MySQL コードを実行して新しいテーブルを作成しようとすると例外が発生します。
これを呼び出すために実行されるコードは、次の定義です。
}
これは、文字列を変更する「+name+」メソッドを使用するだけで機能しますが、SQL インジェクションに対してオープンなままになり、.on を使用するのが適切な方法のようです。
json - Anorm用のJSONデシリアライザー
まず第一に、私はPlay2Scalaを初めて使用します。モデルオブジェクトをJSONに変換したりJSONから変換したりしようとしています。
このブログによるとhttp://mandubian.com/2012/10/01/unveiling-play-2-dot-1-json-api-part2-writes-format-combinators/ これは私が試したものです
次に、Pk[Int]のJSONデシリアライザーが見つからないというエラーが表示されました。
だから私はこのようなことを試しました(少しグーグルした後)
正確に何が起こっているのかわかりません。coudlntは、anormをシリアル化/逆シリアル化する方法の例を見つけました。
sql - Play2とAnorm、1対多の関係で1対多の関係を認識させるにはどうすればよいですか
UserとLinkedAccountの間には1対多の関係があり、ユーザーは複数のリンクされたアカウントを持つことができます。
LinkedAccountとそのユーザーをLinkedAccount(id, provider_user_id, salt, provider_id, auth_method, avatar_url, User.findBy(user))
パーサーで実行することで問題はありません。
私が理解できないのは、LinkedAccountsを使用してユーザーをロードする方法です。LinkedAccountsをユーザーに知らせる必要があると思いますが、どうすればよいでしょうか。
ユーザーが指定されたタイプのリンクされたアカウントを持っているかどうかを確認するたびに、dbへの余分なSQL呼び出しを1つ取り除くためにこれを実行したいと思います。現在、私はこれが好きです:
または、ユーザーがLinkedAccountsを認識し、LinkedAccountがユーザーを認識している場合、これにより問題が発生しますか?
ユーザー:
LinkedAccount:
mysql - [RuntimeException:SqlMappingError(単一の行を予期している場合は行がありません)]
Scala Anormに空の行の結果を処理させる方法はありますか?
このエラーが発生します:[RuntimeException:SqlMappingError(単一の行が必要な場合は行がありません)]
私の方法:
scala - Play2 と Scala、適切な DB で実行するように統合テストを構成するにはどうすればよいですか
Play2 アプリで db 統合テストを作成する方法を見つけようとしています。
私の conf ファイルでは、通常使用する xxx_test とテスト用の h2 db の 2 つのデータベースを指定しました。
User オブジェクトxxx_test
で、アプリケーションの実行時に使用するように指定しました。
私のテストでは、新しい inMemoryDatabase を作成し、ユーザーを使用してテスト用のオブジェクトを作成および取得します。
User オブジェクトはデータベースxxx_test
ではなく
を使用するため、これはもちろん正しい方法ではありません。User( ) オブジェクトh2
で db を指定したため、テストではメモリ内ではなく実際の db にユーザーが作成されます。DB.withConnection("xxx_test")
これを行うスマートな方法があると思います。アプリケーションのようにデータベース名を渡したくありませんUser.create(User(...), "xxx_test")
この問題をどのように解決しましたか?