因为要在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,现在可能还不使用它会更好吧。
我们需要再做一些调查。