問題タブ [apache-cayenne]
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 - 変更をコミットしようとしたときの Cayenne null ポインター エラー
Cayenne を ORM として使用して変更をコミットしようとすると、エラーが発生する次のコードを実行しています。コードは以下に貼り付けられ、context.commitChanges(); 行でエラーが発生します。出力メッセージはコードの下に貼り付けられます。これを理解するための助けをいただければ幸いです。
binding - Cayenne を使用して IN 句で整数のリストをバインドする
次のように、整数のリストを SQLTemplate IN 句にバインドしようとしています。
私はIDの文字列を持っています:
バインドを正常に機能させることができません。確認する ID のリストとして文字列を渡すと、値が返されません。
これを実行するには、文字列連結を使用する必要があります (理想的ではありません)。
どうすれば適切にバインドできるかについてのアイデアはありますか?
前もって感謝します。
(私は Java/Cayenne/Postgres を使用しており、パラメーターとして渡された idList を使用してクエリを実行しています。これは単純化された例であり、実行している実際の SQL ではありません)。
更新私はそれを行う方法を考え出しました。以下に答えてください。
java - ハイバネートとカイエンの比較
Hibernate と Cayenne のどちらを使用するかを選択する際に誰か助けてください。
大規模なデータベースを処理するのに適しているのはどれですか?
java - カイエンは私の要件に適していますか?
ビジネス層とデータ層 (JDBC) が密結合している私のプロジェクトの ORM ソリューションを評価しています。Cayenne の PoC を開始しました。私の要件は次のようになります a) データベーススキーマが既に存在する b) スキーマは非常に細かいレベルです。つまり、リアルタイムの Java オブジェクトは、テーブルを結合することによってのみ派生します。c)現時点では、読み取り操作を実行したいだけです(基準を入力してリストを正確にフィルタリングおよびソートするため)
これまで、私が Cayenne で行った観察は次のとおりです。1) テーブルとオブジェクトは密接に結合されています。Modeler は、関連付けられたテーブルなしで Java オブジェクトを作成することを許可していません。2) 名前付きクエリの出力を Java オブジェクトにマップして、アプリケーションが必要とする方法でリストを取得する簡単な方法を見つけることができませんでした。3)また、式が名前付きクエリで機能するかどうかもわかりません。
私の要件に最適な選択についてあなたの意見を知りたいですか?
前もって感謝します。
apache-cayenne - CayenneEntityManagerの問題
CayenneEntityManagerを使用してオブジェクトをデータベースに永続化しようとしています。残念ながら、次のエラーが発生します。
この問題をどのように解決できるか考えていますか?ありがとう。
java - すべての Cayenne 管理エンティティ クラスのリストを取得するにはどうすればよいですか?
Web アプリケーションで ORM として Apache Cayenne を使用しており、Cayenne によって管理されるすべてのエンティティ クラスのリストを取得したいと考えています ([Person.class,Account.class,...] など)。
私の目標は、これらのクラスを Object<->PrimaryKey コンバーターに登録して、パラメーターを簡単に処理できるようにすることです。
どうすればいいですか?
ありがとう。
編集:カイエン3.0を使用しています
java - CayenneDataObject getXXXArray() エントリをパラメータでフィルタリングしますか?
私のDBモデルは次のとおりです。
したがって、オブジェクトのカイエンでは、この特定の A エントリから B のすべてのエントリを返すA a
ことができます。a.getBArray()
それでも、プロパティに基づいて、このリストをフィルタリングしたいと思いますactive = 1
。
明らかに で使用できますExpression.fromString("active = 1")
がSelectQuery
、このアプローチでは、このクエリを実行する A インスタンスを関連付ける方法がわかりません。
別のアプローチは、 からすべてのエントリを取得しa.getBArray()
、 を持つものだけを検索するコードでフィルタリングすることですactive == true
。このアプローチは私見では非効率的です。
推奨事項は大歓迎です。
ありがとう、マキシム。
- 編集:
私の現在の解決策は次のとおりです(オブジェクト名はそれぞれaとbに置き換えられています):
より良い、よりエレガントな解決策があるかどうか尋ねていますか?
ありがとう。
apache-cayenne - Cayenne で「コミット時に一時 ID が置き換えられていません」を解決する方法
変更を Apache Cayenne コンテキストにコミットすると、次のような例外が発生します。
なぜこの例外が発生するのですか?
apache-cayenne - Cayenneを使用しているときに「PKの生成エラー:エンティティはサポートされていません」を解決する方法
Apache Cayenneコンテキストに変更をコミットすると、次のような例外が発生します。
なぜこれが起こるのですか?
postgis - PostGISクエリとカイエン
PostGISデータベースで使用するためのCayenneの使用の評価を始めたところです。永続クラスのコードを生成するために、CayenneModelerは非常に使いやすいことがわかりました。Expression.fromString( "...")を使用すると、PostGIS関数を使用して式を作成できると思いましたが、ExpressionParserエラーが発生します。さらに読むと、PostGISデータベースアダプターが必要なようです。自由にダウンロードできるものの存在や、これを回避する方法を知っている人はいますか?本当にありがとう。