簡體   English   中英

Cassandra 3.x 到 4.x 驅動程序差異

[英]Cassandra 3.x to 4.x driver differences

誰能告訴我如何將這個舊注釋從 Datastax 3.x 系列驅動程序復制到新的 4.x 系列:

@Table(
        name = "mytable",
        readConsistency = "LOCAL_ONE",
        writeConsistency = "LOCAL_QUORUM")

我記下了這個名字:@CqlName("mytable"),只是不是一致性。

我們只在我們的代碼中使用映射器——它們很快,並且在 3.x 驅動程序中為你做了很多樣板的東西。 在 4.x 中,沒有那么多,而且令人沮喪。 有些東西是我們所依賴的,但我無法弄清楚——就像這樣。

另外(不同的問題,但我會在這里問)。 我可以在會話中設置配置文件嗎? 也在為那個而掙扎。

正如驅動程序升級指南所說

“映射器”和“訪問器”概念已統一到一個“DAO”組件中,該組件處理預定義的 CRUD 模式和用戶提供的查詢。

在您的情況下,您正在從@Table切換到@Entity ,如下所示:

@Entity
@CqlName("mytable")
class MyPojoClass {

}

然后定義Dao 類,在其中定義單個操作,例如插入/刪除/選擇:

@Dao
public interface ProductDao {

  @Select
  MyPojoClass findBySomething();

  @Insert
  void save(MyPojoClass cls);

  @Delete
  void delete(MyPojoClass cls);
}

這些操作可以使用@StatementAttributes注釋進行注釋,該注釋具有consistencyLevelexecutionProfileName和許多其他屬性。

PS 對我來說,新 Mapper 的重大改進之一是您可以在同一會話中使用具有多個鍵空間和表的相同實體類...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM