問題タブ [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 - 「CustomTypesMode はパッケージ org.squeryl.customtypes のメンバーではありません」?
SBT で Squeryl フレームワークを構築し、Scala 2.8 および NetBeans 6.9 で使用しようとしています。Squeryl introで説明されているようにエンティティ モデルを定義しましたが、IDE とコンパイラは「CustomTypesMode はパッケージ org.squeryl.customtypes のメンバーではありません」と文句を言います。理由は何でしょうか?
orm - Squeryl でコレクションを永続化する
Squerylでコレクション フィールド (List[String]
または など) を永続化するにはどうすればよいですか? Set[Int]
Squeryl が関連付けテーブルを作成しないようにエンコードする最良の方法は何ですか?
scala - Squeryl の関係からの選択
squeryl のリレーション モデリング機能をテスト中 (試行中) です
次のコードでそのコードをテストしようとすると:
そして、次のエラーが表示されます。
例外はfindBarsの本体からスローされています。このような問題を引き起こしている可能性のあるものは何も考えられません。誰かが同様の状況に遭遇しましたか?
Daniel がコンパイルの問題である可能性があると指摘したので、build.propertiesとproject.scalaのプロパティを追加しています。
;
scala - squerylでテーブル名を引用する
mysqlデータベースにgroupという名前のテーブルがあります。このテーブルをsquerylにマップすると、テーブル名グループが引用符で囲まれていないため、SQL構文エラーが発生します( `group`から*を選択する必要があります)。
特定のテーブル名を引用するようにsquerylに指示する方法はありますか?
scala - SQueryL チルダ演算子は何をしますか?
更新に関するSQueryLドキュメントを読んでいたところ、次のことがわかりました。
~ メソッドを SQueryL ソース コードから見つけるのに苦労しました。誰か説明してくれませんか?
scala - Scala DSL コードを読む最良の方法は?
Squerylの開始ページには、Scala コードのサンプルがあります。
% は RichString または String クラスで定義されたメソッドではないため、私は困惑しています。私の最善の推測は、それが別の場所で定義されており、暗黙の変換として呼び出されているということです。
Scala でそのようなコードを読んで理解するための最良の方法は何でしょうか?
orm - セッション/トランザクションの取得を Squeryl の関係の遅延初期化にカプセル化するにはどうすればよいですか?
Squeryl を使用して 1 対多の関係を実装しようとしており、サイトの指示に従っています。
ドキュメントには、次の例が示されています。
Course.subject
への呼び出しまたはSubject.courses
トランザクションでラップする必要があることがわかりました。ただし、ORM を使用する際の私の目標の 1 つは、これらの詳細を発信者から隠すことです。そのため、呼び出しコードでこれらのフィールドへの呼び出しをトランザクションでラップする必要はありません。
次のように、トランザクションで遅延初期化関数をラップするように例を変更すると、次のようになります。
次の例外が発生します。
しかし、私が言ったように、呼び出し元をトランザクションでラップすると、すべてが機能します。
では、このオブジェクトがデータベースによってバックアップされているという事実をオブジェクト自体にカプセル化するにはどうすればよいでしょうか?
scala - scalaでクラス例外を初期化できませんでした(おそらくsquerylバグ)
私はscala2.8.1、scalatra 2.0.0.M2、squeryl 2.8.0、scalate2.0.0およびsbtを使用してWebアプリケーションを開発しています。
どうやらモデルまたはスキーマクラスに問題があります。テストを実行すると、次のようになります。
sbtのコンソールで次のコードを実行しようとすると、すぐにエラーが発生します。
エラー:
予想どおり、そのスキーマでどのメソッドを呼び出そうとしても、エラーがポップアップします。
これが私のスキーマがそのテーブル宣言の近くにどのように見えるかです:
これは私のコードテーブルがどのように見えるかです:
そして最後に私のSQL定義:
サードテーブルをコードにマップしていません。何が起こっているのでしょうか?
scala - Squerylを使用してセッションをバインドする必要がありますエラー
更新: わかりました。問題は解決しましたが、何が間違っていたのかまだよくわかりません。いずれにせよ、IRCDB で次のメソッドを作成しました。
次に、次のように使用しました。
そして、それは今動作します。私の理解では、SessionFactory を使用してセッションが作成されるとtransaction { ... }
、適切なインポートがある場所ならどこでも使用できると信じていました。どうやら、私の理解は間違っています。
誰かが追加することがあれば、してください。
だから、私は自分が取り組んでいるプロジェクトに Squeryl を使い始めたばかりなので、これは私の見落としかもしれません。だから、最初のコード:
次のインポートがあります。
次のテーブルを定義しています。
そして、次のスキーマが定義されています。
コンソールで次のようにテーブルに挿入できました。
これが実際に発生することを H2 コンソールで確認できます。ただし、(Scala コンソールとコードの両方で) を呼び出すIRCDB.getAllChannels
と、次のエラーが発生します。
ほぼ同じ方法でテーブルに行を挿入できたのに、なぜこのエラーが発生するのかわかりません。transaction { from(IRCDB.channels)(c => select(c)) }
コンソールで実行しようとすると、同じエラーが発生します。
編集:完全なスタック トレースを追加しました。また、getAllChannels
関数を次のように書き直しました。
それでもエラーが表示されますが、最初にクエリが出力されます -- これは役に立つかもしれないと思いました:
scala - 基本クラスの Scala メソッドの名前を変更できますか?
私は Scala の初心者で、Lift で lift-squeryl-record を使用しようとしています。Scala は 2.8.1 で Lift は 2.3 です。私の問題は、Record から (Mega)ProtoUser を使用したかったことですが、lift-squeryl-record と競合します。
私は次の指示に従いました:
これは ProtoUser を使用せず、次のようにユーザーを定義しようとしました:
注意: KeyedRecord は、net.liftweb.record ではなく、パッケージ net.liftweb.squerylrecord からのものです。
次に、次のエラーが表示されます。
overriding lazy value id in trait ProtoUser of type net.liftweb.record.field.LongField[MyType]; method id in trait KeyedRecord of type => Long needs
override'修飾子`
KeyedRecord と ProtoUser の両方が異なる id メソッドを定義しているためです。どちらのクラス/特性のコードも制御していないため、メソッドの名前を変更するなど、「Scala」の方法はありますか? 本当はどちらかを選ばなくていいんです。:(