0

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

this.getManager().merge(entity); // this.getManager is a javax.persistence.EntityManager

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

4

1 に答える 1

2

createNativeQueryKundera では、メソッドを通じて軽量トランザクションがサポートされています。軽量トランザクションとマージするための直接的な方法はありません。

サンプルコード:

String query = "UPDATE \"PERSONCASSANDRA\" SET \"PERSON_NAME\" = 'Pragalbh' WHERE \"PERSON_ID\" = '4' IF \"PERSON_NAME\" = 'Karthik'";
Query q = entityManager.createNativeQuery(query, PersonCassandra.class);
q.executeUpdate();

詳細については、このテストケースを確認してください。

于 2015-12-14T09:11:28.163 に答える