問題タブ [playorm]
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.
playorm - testOuterJoinWithNullClause() が 1 つの条件で失敗する
メソッド getAllViewsCursor() が、テスト データで適切な結果を返していません。アカウントとアクティビティには多対多の関係があるため、null 句を使用した以下のクエリでは実際の結果が得られません。
select * FROM Activity as e INNER JOIN e.account as a WHERE e.numTimes < 15 and (e.account = null or a.isActive = false)
act5 には account の null 値が必要ですが、act7 には acc1 が必要です。それが逆になり、テストが失敗している間。メソッドの最後にある TestJoins.java の testOuterJoinWithNullClause() メソッドに以下の行を追加してみてください。
playorm - すべての playOrm テストが失敗する
コードの最新バージョンをダウンロードして、「ant testCheckin」を試してみました。
すべてのテストが失敗しました。私は何が間違っているのでしょうか?factorySingleton で IN_MEMORY と CASSANDRA の両方の構成を試しました
テスト
com.alvazan.test.TestColumnSlice SLF4J の実行: クラス パスに複数の SLF4J バインディングが含まれています。SLF4J: [jar:file:/home/mvalle/.m2/repository/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder でバインドが見つかりました.class] SLF4J: [jar:file:/home/mvalle/.m2/repository/ch/qos/logback/logback-classic/1.0.1/logback-classic-1.0.1.jar!/org/ でバインドが見つかりましたslf4j/impl/StaticLoggerBinder.class] SLF4J: 説明については、http: //www.slf4j.org/codes.html#multiple_bindingsを参照してください。log4j:WARN ロガー (com.alvazan.test.FactorySingleton) のアペンダーが見つかりませんでした。log4j:WARN log4j システムを適切に初期化してください。log4j:WARN http://logging.apache.org/log4j/1.2/faq.html#noconfigを参照詳細については。テストの実行: 4、失敗: 0、エラー: 4、スキップ: 0、経過時間: 2.075 秒 <<< 失敗! testDecimalColumnSlice(com.alvazan.test.TestColumnSlice) 経過時間: 1993 秒 <<< エラー! java.lang.ClassCastException: com.alvazan.orm.impl.meta.data.MetaClassSingle は com.alvazan.orm.impl.meta.scan.ScannerForField で com.alvazan.orm.impl.meta.data.MetaClassInheritance にキャストできません.processToOne(ScannerForField.java:342) at com.alvazan.orm.impl.meta.scan.ScannerForField.processManyToOne(ScannerForField.java:202) at com.alvazan.orm.impl.meta.scan.ScannerForClass.inspectField(ScannerForClass) .java:185) com.alvazan.orm.impl.meta.scan.ScannerForClass.scanFields(ScannerForClass.java:169) で com.alvazan.orm.impl.meta.scan.ScannerForClass.scanSingle(ScannerForClass.java:108) で) com.alvazan.orm.impl.meta で。
playorm - createEntityManager - リクエストごとですか、それともアプリケーションごとですか?
Astyanax を単独で使用すると、接続プールを簡単にセットアップできることがわかります。ただし、 NoSqlEntityManager other = factory.createEntityManager(); を実行するとどうなるかわかりません。または NoSqlSession session = mgr.getSession();
- 接続が必要になるたびに entityManager を作成する必要がありますか?
- それとも、EM を 1 つだけ使用して、クエリごとにセッションを作成する必要がありますか?
保存させてくれないので、もっと言葉を :(。
playorm - NoSqlEntityManagerFactory を適切に作成するには?
Bootstrap クラスの NoSqlEntityManagerFactory create(Map properties) メソッドを使用して、NoSqlEntityManagerFactory を作成したいと考えています。ただし、正しいプロパティを使用しているかどうかはわかりません。
nosql.cassandra.builder に何かを渡す必要がありますか? これは、astyanax 構成ビルダーが作成された後に、メソッドによって作成されたようです... また、nosql.autoCreateKey=create を渡すと、Cassandra にマップされたエンティティが作成されますか? この動作が望ましくない場合は、nosql.autoCreateKey=none を使用する必要がありますか?
playorm - コマンド ライン ツールがメモリ内で失敗する
PlayOrm.java は以下の引数で正常に動作しています:
-k playormks -s localhost:9160 -t cassandra
しかし、私が与えたときだけ
-t インメモリ
次の例外を与えています:
スレッド「メイン」での例外 java.lang.NullPointerException at com.alvazan.orm.impl.bindings.BootstrapImpl.createBestCassandraConfig(BootstrapImpl.java:73) at com.alvazan.orm.api.base.Bootstrap.createAndAddBestCassandraConfiguration(Bootstrap.java) :77) com.alvazan.ssql.cmdline.PlayOrm.main(PlayOrm.java:73) で
-t inmemory を使用して、他にも何かを与える必要がありますか?
playorm - PlayOrm での再インデックス
PlayOrm で、コマンド ライン ツール クラスを確認しましたが、インデックスを再作成するためのより良い方法があるかどうかわかりません。つまり、エンティティのインデックスを再構築する必要がある場合、単純な API はありますか?それとも、cmdline ユーティリティですべて行ったことを行う必要がありますか? 今それを行う直接的な方法がない場合、将来的に計画されていますか?
playorm - PlayOrmでの継承
アノテーション「@NoSqlDiscriminatorColumn」の使用法を理解できません。それが常に必要かどうか誰かが説明できますか?はいの場合、なぜですか?いいえの場合、単体テストで、AccountはAccountSuperを拡張します。これも継承の別の例ですか?これとTestInheritanceSingleTableで使用されるエンティティの違いは何ですか?
playorm - パーティションフィールドにインデックスを付ける方法は?
userIdでパーティション化されたエンティティ(Request)があります。userIdごとに、インデックスがありますよね?
ただし、userIdでリクエストをすばやく検索したいと思います。それを行う簡単な方法はありますか?または、パーティションを作成するために別のフィールドを選択する必要がありますか?
playorm - スキャンしたパッケージ
Eclipseワークスペースに2つのプロジェクトがあります。
- playOrm(jarファイルが生成されます)
- MyOwnProject(MyOwnProjectでCassandraにORMのようなplayOrmを使用するために、上記で生成されたjarファイルを使用します)
私の質問:
MyOwnProjectで定義されたクラスに対して、com.alvazan.test.db
サンプルで定義されたUserクラスと同じ利点をどのように使用できますか?MyOwnProjectにあるクラスを実行すると、playOrmはそのクラスをキースペースに作成し、挿入(NoSqlEntityManager.put()
)またはクエリ(@NoSqlQuery
) も管理します。
これらのアノテーションをクラスに配置しましたが、実行するとエラーメッセージが表示されます。
アノテーションを使用してクラスを定義しようとしました@NoSqlEntity
が、それでも機能しません。
playorm - PlayORMのIDタイプとしてUUIDはサポートされていますか?
UUIDフィールドを使用してクラスをマップしようとすると、次の例外が発生します。同じことがDateの種類のフィールドでも起こります。私のエンティティはこれらの値を持つフィールドを持っている必要があります、可能な解決策は何でしょうか?