問題タブ [jdoql]
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.
java - JDOQL を使用してインターフェースを照会し、結果セットをフィルタリングする方法は?
私はインターフェースを持っています
永続層は JDO を使用します。JDO 実装は DataNucleus です。ここで、JDOQL を使用してそのインターフェースのインスタンスを照会したいと考えています。
クエリ query = getPersistenceManager().newQuery(MyInterface.class);
それはうまくいきます。次に、クエリ結果を名前でフィルター処理します。もちろん、インターフェースには属性がありません。その実装の属性は異なる場合があります。MyInterface のインスタンスは、getName() メソッドによってその名前を返します。
このメソッドを JDOQL で使用するにはどうすればよいですか?
私は少し試しました:
query.setFilter("name == \"" + name);
query.setFilter("name() == \"" + name);
query.declareVariables("myPackage.MyInterface myInterface"); query.setFilter("myInterface.name == \"" + name);
query.declareVariables("myPackage.MyInterface myInterface"); query.setFilter("myInterface.name() == \"" + name);
JDO は依然として例外をスローし続けます (一番下を見てください)。これがインターフェイスに適用できるかどうかはわかりませんが、Java Bean 用語のプロパティである get および set アクセサー メソッドがあります。@Persistent
インターフェイスの getName() メソッドとその実装にアノテーションを追加しましたが、何も変わりませんでした。
インターフェイス インスタンスのクエリをフィルタリングするにはどうすればよいですか?
前もって感謝します。
JDO がスローする例外を次に示します。
java - 「含む」リクエストで結果を取得するためのJDOQLの問題
プロジェクトにGoogleAppEngineを使用していますが、データベースに対していくつかのクエリを実行する必要があります。JDOQLを使用してデータベースに問い合わせます。私の場合、部分文字列「配列」を含む大学を取得したいと思います。大学の名前がサブストリングを含むものではなくアルファベット順に返されるため、クエリに誤りがあると思います。
誰かが私のクエリの何が問題になっているのか教えてもらえますか?
ご協力ありがとうございました!
編集
大学の店舗のリストがあり、彼の名前で大学をリクエストできる提案ボックスがあります。そして、要求された名前をオートコンプリートしたいと思います。
jdo - 「一致」セマンティクスを使用する JDOQL クエリがリテラルでのみ機能するのはなぜですか?
所有されている 1 対多の子クラスの基準に基づいて親クラスの一致を検索する JDOQL クエリ (datanucleus を使用) を作成しようとしています。クエリは次のようになります。
私のデータセットは次のようになります。
- モジュール[1]
- ModuleMapping[1]: 基準=".*"
- モジュール[2]
- ModuleMapping[1]: 基準=".*StarTrek.*"
- ModuleMapping[2]: 基準=".*StarWars.*"
クエリは何にも一致しません! ただし、matches
JDOQL メソッドへの引数をリテラルに置き換えると、次のようになります。
その 1 つの例では問題なく動作し、私のクエリはModule[2]を見つけます。私は何が欠けていますか?マップされたフィールドの内容を JDOQL メソッドの引数として使用することはできませんか? 何らかの方法で物事をエスケープする必要がありますか?
デイブ
java - JDOQLの値の丸め
GAEデータストアにデータがあります。列の1つを取り、その値を丸めるデータに対してJDOQLを記述したいと思います。これはできますか?
java - GAE での JDOQL での「INTO」キーワードの使用
とりわけ「分」と「時間」フィールドを持つ永続クラス「会議」があります。UI にドロップダウンを設定するには、これら 2 つのフィールドだけが必要です。私が見つけた例は、これら 2 つのフィールドだけを格納する単純な Bean を作成できることを示していますが、Integer を MyTime オブジェクトに変換できないというエラーが表示されます。明らかに、データを Bean にマッピングしていません。残念ながら、これは私が見つけることができる唯一の例です。
実行が実行された後のデバッグモードでの「時間」は次のようになります: [0, 0, 0, 0, 0, 0, 8, 10, 21]
そして、MyTime オブジェクトにキャストして時間のインデックスを作成しようとすると、for ループでエラーが発生します。java.lang.ClassCastException: java.lang.Integer は com.emooney.meeting.beans.MyTime にキャストできません
会議ごとに「会議」オブジェクト全体を戻すことなく、このデータを取得する方法はありますか?
MyTime Bean は次のとおりです。
}
java - Google App Engine (Java) でキーのリストを使用して複数のオブジェクトを取得する最良の方法は何ですか?
私は多対多の関係を持っています。ドキュメントの例のように:
"Person" オブジェクトを取得し、favoriteFoods キーが設定されている場合、特定の "フード ファン" のすべての "お気に入りの食べ物" を取得するにはどうすればよいですか。より良い方法はありますか:
ここで最も安価で効率的なオプションは何ですか? 通常、アプリでオブジェクト データを含むテーブルを生成する必要があります。
jdo - JDOQLサブクエリカウントの問題
JDOQL(DataNucleusを使用)でのサブクエリカウントに問題があります。次のクエリ
例外が発生します
次のクエリはどちらも機能しません:
サブクエリの結果が空でないことを確認する適切な方法は何ですか?
google-app-engine - JDOQL 固有の結果セットを使用したクエリ
私のGAEアプリケーションでは、すべての要素がデータベース内に複数存在する場合でも、すべての要素が最大1回存在するリストを返すJDOQLを作成したいと考えています。これどうやってするの?
google-app-engine - GAE での OR を使用した JDO クエリ
このようなエンティティAを取得しました
keyword==a または keyword ==b のいずれかに一致するすべての A オブジェクトを選択する JDO クエリを作成するにはどうすればよいですか?
完全なコードは次のようになります。
このコードではエラーは発生しませんが、結果は得られません。|| の削除 部分は結果を与えます。
ありがとう
java - オブジェクトIDを使用したJDOクエリ
User
その下にオブジェクトのコレクションがあるオブジェクトがありTransaction
ます。
オブジェクトのオブジェクトIDを保存し、Userオブジェクトの下でトランザクションを合計User
するためのクエリが必要になりました。
'のオブジェクトIDが与えられた場合、コレクション内User
のすべてTransaction.txnAmount
の'の合計が必要です。User.transactions
これでの私のショットは:
userIDが実際にデータベース識別子オブジェクトであることを確認しました(これを使用して、IDでUserオブジェクトをクエリできます)。しかし、query.execute()メソッドで例外が発生します。
javax.jdo.JDOException:メソッド "JDOHelper.getObjectId"の呼び出しはnullですが、これは現在SODAクエリではサポートされていません
データストアとしてDB4Oを使用し、JDO実装としてDataNucleus 2.2.1