問題タブ [squeryl]
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 - Squeryl で削除時に何かを行う方法
私にはA and B(a_id:Long)
エンティティがあります。
B
に依存しA
ます。だから私は設定しましconstrainReference(onDelete cascade)
た。すべて正常に動作します。
しかし、削除するときは、にA
応じていくつかのリソースを解放したいと考えていB
ます。どういうわけか をインターセプトして操作を実行できますB
かonDelete()
?
scala - SerialVersionUID を使用して Scala で Externalizable を実装する
Tomcat 7 にデプロイされ、現在 2 つのノード間でクラスター化されているアプリがあります。コンテナーが変更されたクラスを逆シリアル化しようとしたときに発生する小さな問題が発生しています。読み取りおよび書き込みメソッドはこれを適切に処理する必要があるため、それは問題ではないと思います。設定serialVersionUID
で問題が解決するはずですが、私のコードではそれを次のように指定して-1
おり、以下のエラーではその値が無視されているようです。
例外:
java.io.InvalidClassException: common.user.User; ローカル クラスに互換性がありません: st ストリーム classdesc serialVersionUID = 1828770465826288626、ローカル クラス serialVersion UID = 6192552274218063887
クラス定義の関連部分:
また、抽象クラスを拡張する代わりに、以下を使用してみました ( http://www.scala-lang.org/node/259に従って)
同じ結果が得られます。Scala でクラスを適切に外部化する方法に欠けているものはありますか?
postgresql - Squeryl と PostgreSQL の自動インクリメント
Squeryl の Table.insert を使用して PostgreSQL テーブルに新しいレコードを挿入しようとすると、次のクエリが起動します。
シーケンスを定義せず、代わりに id 列を「自動インクリメント」に定義したため、これは機能しません。
この問題に関する別のフォーラムの古い投稿を読みましたが、現在の状況はどうなっているのか疑問に思っていました。自動インクリメントを使用して代わりにシーケンスを定義することはお勧めできませんか? または、これを機能させるための簡単な回避策はありますか?
編集: 実際、自動インクリメント自体が別の名前でシリアルを作成することがわかりました: users_id_seq Squeryl に代わりにこの名前で調べるか、PostgreSQL の規則に従うように指示する方法はありますか?
database - Scalaでストアドプロシージャから複数の行を取得するには?
ストアド プロシージャから複数の行を返す方法で説明したように、複数の行を返すストアド プロシージャまたは関数があるとします。(オラクル PL/SQL)
Scala を使用して "select * from table (all_emps);" を実行するにはどうすればよいでしょうか。(上記のURLから取得)結果となる複数行のデータを読み取りますか?
私が見る限り、Squeryl を使用してこれを行うことはできません。使用できる Squeryl のような拡張ツールはありますか、それとも JDBC にドロップする必要がありますか?
scala - Squeryl 0.9.5 (Lift 2.4 を使用) がデータベース接続/プールを解放しない
私の Boot.scala で、 Squerylの推奨されるトランザクション設定に従います。
最初の起動は問題なく動作します。H2 の Web インターフェイス経由で接続でき、アプリを使用すると、データベースが適切に更新されます。ただし、JVM を再起動せずに jetty を再起動すると、次のようになります。
「DB_CLOSE_DELAY=-1」を「AUTO_SERVER=TRUE」に置き換えるか、完全に削除すると、同じ結果になります。
Squeryl リストの推奨に従って、C3P0 を試しました。
これにより、同様の動作が生成されます。
これを引き起こしているのが私がしていたことではないことを確認するために、トランザクション { } ブロックを呼び出さずにサーバーを起動および停止しました。例外はスローされませんでした。次に、Boot.scala に以下を追加しました。
そして、例外が再びスローされました(接続が遅延しているためだと思います)。そこで、db 初期化コードを Lift から離れた独自のファイルに移動しました。
結果は変わりませんでした。私は何を間違っていますか?Squeryl のドキュメントには、接続やセッションを明示的に閉じる必要があるとの記述はありません。JDBC を使用するのはこれが初めてです。
Lift の Google グループで同じ問題についての言及を見つけましたが、解決策はありません。
助けてくれてありがとう。
scala - Squerylの関係と外部キー
Scala、Squeryl、MySqlを使用してWebアプリを構築しています。
単純なデータを文字列または整数として永続化するのは簡単だと思いました。しかし、オブジェクト間に関係があり、外部キーを使用する必要がある場合はどうでしょうか。私のアプリにはエリアとサブエリアがあり、タイプエリア(それらが属するエリア)の属性を持っているので、私のエリアとサブエリアは次のようになります
スキーマを定義するにはどうすればよいですか?SubAreaテーブルにはArea ID、AreaTableへの外部キーがありますか?とりあえず私のSubAreaスキーマはこんな感じです
scala - Squerylで列の組み合わせでインデックスを一意にする方法
squerylスキーマの列の組み合わせで一意の制約を定義するにはどうすればよいですか?
scala - squerylを使用したケースオブジェクトの保存
squerylを使用してユーザーケースオブジェクトを保存するにはどうすればよいですか?タイプPermission(封印されたトレイトとして定義)のパーミッションフィールドを持つAccountオブジェクトがあります。また、Permissionから拡張された2つのケースオブジェクト(AdministratorとNormalUser)があります。Squerylを使用してAccountクラスを永続化するにはどうすればよいですか。以下のコード例:
scala - Play2 scala での Heroku メモリ リーク
1 つの heroku dyno と dev データベースに対して、20 接続制限でいくつかのストレッチ (ab) テストを行っていました。
呼び出し中 (squeryl を使用してデータベースにアクセスすると、ヒープ割り当てが増加して R14 が発生します (メモリが 512MB 以上))
問題を再現できないようです (そのレベルでは、少なくともローカルでは)。
heroku ヒープ ダンプを取得し、それを分析して手がかりを得る方法はありますか?
play2、scala、squeryl、heroku のメモリ リークに関する既知の問題はありますか?
アップデート
コントローラーの最後で System.gc を実行すると、すべて問題なく動作が遅くなります...その呼び出しで多くのオブジェクトを作成しますが、heroku の JVM が gc を処理するべきではありませんか? また、gc 呼び出しを定期的にスケジュールすると、メモリが解放されません
performance - Squeryl - Means of combinations of queries
I have the need to perform some queries that may depend on external supplied parameters via a REST interface. For instance a client may require an URL of the form
The parameters, say foo
, bar
and quux
are all optional. So I start from designing some queries with Squeryl, like
But of course I want to avoid the combinatorial explosion that arises, so I only design three queries, which in turn may take their data from another query:
Now I can combine them and run a query like
The only problem I have with this approach is that behind the scenes Squeryl is going to generate a subquery, which may be inefficient. With a more typical query builder, I would be able to combine the queries and get the equivalent of the following:
Is there a different way to dynamically combine queries in Squeryl that will lead to this more efficient form?