問題タブ [kundera]

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.

0 投票する
1 に答える
294 参照

java - Kundera を使用して MongoDB で更新カスケードを実行する方法

私は MongoDB で永続化を行うために Kundera を使用しています。私のモデルには、一連の変数を持つエンティティ クラスがあり、これらのいくつかは別のエンティティ クラスのリストなどです。たとえば、エンティティ クラス Record のリストを持つ RecordVersion という名前のエンティティ クラスは、エンティティ クラス AuxiliarData のリストを持ちます。次のようなもの: RecordVersion > Record > AuxiliarData > References

記録用

AuxiliarData の場合

Referenceまですべてのネストを使用して、RecordVersionの完全なデータであるmongoDBに永続化できますが、Mongoのコレクション内の特定のRecordVersionに対して、たとえばレコードを追加した後、RecordVersionのそのレコードを更新することはできません.

em.merge(someRecordVersion) で試しましたが、うまくいきませんでした。

0 投票する
1 に答える
90 参照

java - Kundera で Cassandra に timeuuid を挿入できない

私はこのCassandraテーブルを持っています:

そしてこのクラス:

永続化すると、次のようになります。

スレッド「メイン」での例外 com.impetus.kundera.KunderaException: java.lang.IllegalArgumentException: GenerationType.AUTO Strategy はこのクライアントでサポートされていません:com.impetus.kundera.persistence の com.impetus.client.cassandra.pelops.PelopsClient。 EntityManagerImpl.persist(EntityManagerImpl.java:174) で Importer.save(StayImporter.java:80) で Importer.exec(StayImporter.java:92) で Importer.main(StayImporter.java:100) で sun.reflect.NativeMethodAccessorImpl。 java.lang.reflect.Method.invoke(Method.java: 497) com.intellij.rt.execution.application.AppMain.main(AppMain.java:144) で 原因: java.lang.IllegalArgumentException: GenerationType.AUTO ストラテジーはこのクライアントでサポートされていません:com.impetus.kundera.persistence.IdGenerator.onAutoGenerator(IdGenerator.java:116) の com.impetus.kundera.persistence の com.impetus.client.cassandra.pelops.PelopsClient .IdGenerator.generateAndSetId(IdGenerator.java:71) で com.impetus.kundera.graph.ObjectGraphBuilder.getNode(ObjectGraphBuilder.java:111) で com.impetus.kundera.graph.ObjectGraphBuilder.getObjectGraph(ObjectGraphBuilder.java:75) でcom.impetus.kundera.persistence.PersistenceDelegator.persist(PersistenceDelegator.java:135) at com.impetus.kundera.persistence.EntityManagerImpl.persist(EntityManagerImpl.java:168) ... 8 もっと見るPelopsClient の com.impetus.kundera.persistence.IdGenerator.onAutoGenerator(IdGenerator.java:116) の com.impetus.kundera.persistence.IdGenerator.generateAndSetId(IdGenerator.java:71) の com.impetus.kundera.graph.ObjectGraphBuilder. getNode(ObjectGraphBuilder.java:111) com.impetus.kundera.graph.ObjectGraphBuilder.getObjectGraph(ObjectGraphBuilder.java:75) com.impetus.kundera.persistence.PersistenceDelegator.persist(PersistenceDelegator.java:135) com.impetus .kundera.persistence.EntityManagerImpl.persist(EntityManagerImpl.java:168) ... 8 もっと見るPelopsClient の com.impetus.kundera.persistence.IdGenerator.onAutoGenerator(IdGenerator.java:116) の com.impetus.kundera.persistence.IdGenerator.generateAndSetId(IdGenerator.java:71) の com.impetus.kundera.graph.ObjectGraphBuilder. getNode(ObjectGraphBuilder.java:111) com.impetus.kundera.graph.ObjectGraphBuilder.getObjectGraph(ObjectGraphBuilder.java:75) com.impetus.kundera.persistence.PersistenceDelegator.persist(PersistenceDelegator.java:135) com.impetus .kundera.persistence.EntityManagerImpl.persist(EntityManagerImpl.java:168) ... 8 もっと見る111) com.impetus.kundera.graph.ObjectGraphBuilder.getObjectGraph(ObjectGraphBuilder.java:75) で com.impetus.kundera.persistence.PersistenceDelegator.persist(PersistenceDelegator.java:135) で com.impetus.kundera.persistence.EntityManagerImpl .persist(EntityManagerImpl.java:168) ... 8 もっと見る111) com.impetus.kundera.graph.ObjectGraphBuilder.getObjectGraph(ObjectGraphBuilder.java:75) で com.impetus.kundera.persistence.PersistenceDelegator.persist(PersistenceDelegator.java:135) で com.impetus.kundera.persistence.EntityManagerImpl .persist(EntityManagerImpl.java:168) ... 8 もっと見る

これは私の pom.xml です:

0 投票する
1 に答える
68 参照

java - MongoDB での Kundera ClassCastException

私は MongoDB で永続化を行うために Kundera を使用しています。コレクション内のいくつかのドキュメントを永続化できますが、ID で特定のドキュメントを見つけようとするたびに、このエラーが発生します

私のクラス定義は

0 投票する
0 に答える
71 参照

ssl - SSL を使用して Kundera 経由で Cassandra に接続する

Kundera を使用して Cassandra に接続していますが、これは問題なく動作しています。ここで、接続を暗号化するために必要な遠隔サーバーに Cassandra を移動する必要がありました。ネイティブの Cassandra ドライバーを使用しても問題はありませんが、Kundera でそれを行う方法はわかりません。

ドキュメントが完全に不足しています。誰でも助けてもらえますか?

0 投票する
1 に答える
291 参照

cassandra - Kundera のバージョン互換性に関するドキュメント

CassandraVM-2.0.7.ova をインストールしました。このバージョンの Cassandra で適切に動作する Kundera のバージョンはどれですか? この情報を取得しようとすると、あまりにも多くの問題に直面しています。私の設定ミスかもしれません。この情報はどこかに文書化されていますか?

私はこのMavenの依存関係を試しました:

<dependency> <groupId>com.impetus.kundera.client</groupId> <artifactId>kundera-cassandra</artifactId> <version>3.2</version> </dependency>

persistence.xml のプロパティは次のとおりです。

以下のステートメントを実行しようとしている間、

EntityManagerFactory emf = Persistence.createEntityManagerFactory("cassandra_pu");

この例外が発生しました:

スレッド「メイン」での例外 com.impetus.kundera.configure.schema.SchemaGenerationException: org.apache.thrift.transport.TTransportException: 負のフレーム サイズ (-2113929216) を読み取ります!
com.impetus.client.cassandra.schemamanager.CassandraSchemaManager.create(CassandraSchemaManager.java:264)
で com.impetus.kundera.configure.schema.api.AbstractSchemaManager.handleOperations(AbstractSchemaManager.java:264)
で com.impetus.kundera .configure.schema.api.AbstractSchemaManager.exportSchema(AbstractSchemaManager.java:115)
com.impetus.client.cassandra.schemamanager.CassandraSchemaManager.exportSchema(CassandraSchemaManager.java:166)
com.impetus.kundera.configure.SchemaConfiguration.configure で(SchemaConfiguration.java:188)
com.impetus.kundera.configure.ClientMetadataBuilder.buildClientFactoryMetadata(ClientMetadataBuilder.java:48)
で com.impetus.kundera.persistence.EntityManagerFactoryImpl.configureClientFactories(EntityManagerFactoryImpl.java:408)
で com.impetus.kundera.persistence.EntityManagerFactoryImpl.configure (EntityManagerFactoryImpl.java:161)
com.impetus.kundera.persistence.EntityManagerFactoryImpl.(EntityManagerFactoryImpl.java:135)
com.impetus.kundera.KunderaPersistence.createEntityManagerFactory(KunderaPersistence.java:85)
で javax.persistence.Persistence.createEntityManagerFactory (Persistence.java:79)
javax.persistence.Persistence.createEntityManagerFactory (Persistence.java:54) で
Main.main(Main.java:16) で

その後、Kundera (2.4) のかなり古いリリースを試してみましたが、同じ問題に直面しました。私は基本的な何かが欠けていると思います。

persistence.xml の自動スキーマ生成オプションを削除しましたが、まだ同じ問題に直面しています (新しい Cassandra 接続を作成できません。org.apache.thrift.transport.TTransportException: 負のフレーム サイズ (-2113929216) を読み取ります!)。

サーバーでは、これは例外です。

java.lang.ArrayIndexOutOfBoundsException:
org.apache.cassandra.transport.Message$Type.fromOpcode(Message.java:106)
で 47 org.apache.cassandra.transport.Frame$Decoder.decode(Frame.java:168)
でorg.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:425)

0 投票する
1 に答える
108 参照

jpa - Kundera cassandra - マージ メソッドの軽量トランザクション

kundera-cassandra V3.2 を使用しており、merge メソッドでエンティティを更新したいと考えています。

このメソッドを呼び出すときに軽量トランザクション (IF 句) を使用する可能性はありますか?それとも更新クエリを手動で作成する必要がありますか?

0 投票する
1 に答える
141 参照

cassandra - KunderaException : execute_cql3_query が失敗しました: シーケンス応答がありません

kundera を使用して cassandra に行を挿入しようとしていますが、同じ主キーを持つ行が既に存在する場合は、delete + insertを実行します。

シングル スレッドおよびシングル ノード クラスタで問題なく動作します。しかし、2 ノードに拡張してマルチスレッド操作を行うと、以下のエラーが発生します。

原因: com.impetus.kundera.KunderaException: org.apache.thrift.TApplicationException: execute_cql3_query failed: out of sequence response

ここではバッチ処理を使用していません。batchSize=0 (その情報が役立つかどうかはわかりません)

0 投票する
1 に答える
263 参照

java - kundera-cassandra でのトランザクション

Cassandra データベースに Kundera (V3.2) のトランザクション管理を使用したいと考えています。https://github.com/impetus-opensource/Kundera/wiki/Transaction-Managementを参照すると、この機能を使用できるはずです。私は次のコードを書きました:

しかし、2 番目のクエリでエラーをシミュレートすると、ロールバックが機能せず、ID 'xxx' のアカウントが更新されます。

私の質問は、私の特定の方法で kundera-cassandra に Kundera のトランザクション実装を使用することは一般的に可能ですか?

編集:

Kundera は EventLogQueue を使用してロールバックまたはコミットを実行することがわかりました。キューにあるイベントを読み取り、これらのイベントをロールバックします。問題は、EventQueue が EntityManager.persist()、EntityManager.remove()、または EntityManager.merge() のメソッド呼び出しによって送信されたイベントのみを受信するという継ぎ目です。そのため、ネイティブ クエリの実行時にエントリはありません。

0 投票する
1 に答える
503 参照

scala - Play で Kundera を介して Cassandra db に接続できません! フレームワーク

Intellij IDEA で SBT コンソールを介してアプリケーションを実行すると、次のエラーが発生します。

私が取り組んでいる例は、http: //blog.knoldus.com/2014/06/22/playing-kundera-cassandra/から取られています。

私はプレイをしています!2.4.6 フレームワークと Cassandra 2.2。データベースへの接続を許可していないプロジェクトの何が問題なのですか? データベースに接続できるように、CQL または Kundera のバージョンを変更する必要がありますか? 私のpersistence.xmlファイルは次のとおりです。

CassandraまたはCQLのバージョン関連の変更を行う必要があるかどうか、またそれもどのファイルで行う必要があるか教えてください。