Spring Data Cassandra

20 September 2017

spring data cassandra 라이브러리를 통해서, 간단히 spring에서 cassandra를 사용할 수 있습니다.

가장 먼저, application.yml 파일에 사용하게 될 cassandra에 대한 접속 정보를 설정해줍니다.

CREATE KEYSPACE myspace WITH replication = {'class': 'SimpleStrategy', 'replication_factor' : 3};

CREATE TABLE users (
    id UUID,
    name varchar,
    PRIMARY KEY (id)
);
spring:
  data:
    cassandra:
      contact-points: {server host}
      username: {username}
      password: {password}
      keyspace-name: myspace
그리고 나서, cassandra의 table에 대한 entity class를 설정해주도록 합니다.
package org.blog.test.user.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.data.cassandra.mapping.PrimaryKey;
import org.springframework.data.cassandra.mapping.Table;

import java.util.UUID;

@Table(value = "users")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {

    @PrimaryKey
    private UUID id;

    private String name;

}
repository를 생성한 이후, 서비스 layer에서 톰캣 시작시 user를 하나 생성하도록 설정해두었습니다.
select * from users;

 id                                   | name
--------------------------------------+----------
 339bc454-91ae-48f7-bce7-f00e62a00d7f | testUser

위와 같이 정상적으로 cassandra table에 값이 들어간 것을 확인할 수 있습니다.

전체 예제는 아래에서 다운로드 받을 수 있습니다.

https://gitlab.com/shashaka/cassandra-project