因为要在Kotlin中使用Spring Data Cassandra,所以做个备忘录

首先,将试验的结果记录下来。

Cassandra存储库

只作为接口而没有更新。

    • 結局は、SpringData系って、RestもRedisも XXTemplateに依存する形で進められており、Cassandraも例にもれず CassandraTemplateに依存しているみたい

 

    • JpaRepositoryを読むと、save(T) 時は、entityの存在確認をして、persist/mergeを使い分けているが、CassandraRepository(正確にはSimpleCassandraRepositoryでは、save時はinsertしかしていない

CqlTemplateで賄ってよが当面なんだろうなー
Cassandraの使い方次第だろうけど、DELETE/INSERTで今は事足りているけどダメな場合は、CassandraTemplateを引っ張り出そう

@Query时,无法像JPA一样做出相同的注释。

如果在Kotlin中实现以下的 @Query,会被批评。

@Repository
interface MasterDao : CassandraRepository<GenreMaster, String> {

 @Query("SELECT count(genreId) FROM t_genre x")
 fun countById(id: String): Integer

Caused by: com.datastax.driver.core.exceptions.SyntaxError: line 1:35 no viable alternative at input 'x' (SELECT count(genreId) FROM [t_genre] x)

选择这边没问题

@Repository
interface MasterDao : CassandraRepository<GenreMaster, String> {

 @Query("SELECT count(genreId) FROM t_genre")
 fun countById(id: String): Integer

对于此事的个人感受 or 对此的感觉

因为我希望以后能继续使用ReactiveCassandraRepository,所以我在尝试使用它,但如果没有的话,我还是希望只用Jpa来进行开发。
考虑到与spring-data-jpa的兼容性不太好,可能会变得很麻烦。
如果不考虑Reactive,现在可能还不使用它会更好吧。

我们需要再做一些调查。

广告
将在 10 秒后关闭
bannerAds