Cassandra java ORM [已关闭]

piztneat  于 2023-01-19  发布在  Java
关注(0)|答案(4)|浏览(161)

我们不允许问题寻求有关书籍、工具、软件库等的推荐。你可以编辑问题,以便可以使用事实和引用来回答问题。
两年前关闭了。
Improve this question
除了Cassandra,有人知道一个类似于Spring数据蒙戈的东西吗?
spring cassandra是alpha. easy cassandra就不那么好了.在使用spring-data-mongo之后,很难用CQL的方式思考了。
谢谢,抱歉我太差劲了

yx2lnoni

yx2lnoni1#

你应该看看Kundera(https://github.com/impetus-opensource/Kundera),它是Cassandra(和其他数据存储)的一个非常好的Java选项。它符合JPA,有一个令人惊讶的开发团队(非常响应和快速移动)和优秀的文档。
高温加热

czq61nw1

czq61nw13#

您可以尝试Charybdis
它易于使用,功能全面,支持Cassandra/Datastax的主要特性(LWT,批量查询,异步执行...),具有直观的建模和查询功能。
插入查询示例:

  • 使用DSL API:
cqlTemplate.dsl().insertInto(User_Table.user, User_Table.id, User_Table.joiningDate, User_Table.addresses)
           .values(UUID.randomUUID(), Instant.now(), addresses)
           .ifNotExists()
           .execute();
  • 使用积垢API:
cqlTemplate.crud().create(User_Table.user, new User(...));

您可以看看这个使用该框架的聊天应用程序(spring Boot 的演示)Charybdis Demo
顺便说一句,我是这个项目的开发者和维护者。

1sbrub3j

1sbrub3j4#

尝试abacus-common
实体/Map参数支持CQL。以下是一个简单的CRUD示例:

@Test
    public void test_crud() {
        Account account = createAccount();
        // create
        String sql_insert = NE.insert(ID, GUI, FIRST_NAME, LAST_NAME, LAST_UPDATE_TIME, CREATE_TIME).into(Account.class).sql();
        cassandraExecutor.execute(sql_insert, account);

        // read
        String sql_selectByGUI = NE.select(ID, GUI, FIRST_NAME, LAST_NAME).from(Account._).where(L.eq(ID, L.QME)).sql();
        Account dbAccount = cassandraExecutor.queryForEntity(Account.class, sql_selectByGUI, account);

        // update
        String sql_updateByLastName = NE.update(Account.class).set(FIRST_NAME).where(L.eq(ID, L.QME)).sql();
        dbAccount.setFirstName("newFirstName");
        cassandraExecutor.execute(sql_updateByLastName, dbAccount);

        // delete
        String sql_deleteByFirstName = NE.deleteFrom(Account.class).where(L.eq(ID, L.QME)).sql();
        cassandraExecutor.execute(sql_deleteByFirstName, dbAccount);

        // check
        assertFalse(cassandraExecutor.exists(sql_selectByGUI, dbAccount));
    }

声明:我是算盘的开发者

相关问题