kundera-cassandra V3.2 を使用しており、merge メソッドでエンティティを更新したいと考えています。
this.getManager().merge(entity); // this.getManager is a javax.persistence.EntityManager
このメソッドを呼び出すときに軽量トランザクション (IF 句) を使用する可能性はありますか?それとも更新クエリを手動で作成する必要がありますか?
createNativeQuery
Kundera では、メソッドを通じて軽量トランザクションがサポートされています。軽量トランザクションとマージするための直接的な方法はありません。
サンプルコード:
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();
詳細については、このテストケースを確認してください。