Was this page helpful?
ScyllaDB Java Driver is available under the Apache v2 License. ScyllaDB Java Driver is a fork of DataStax Java Driver. See Copyright here.
Lombok is a popular library that automates repetitive code, such as getters and setters. You can use it in conjunction with the mapper to eliminate even more boilerplate.
We have a full example at DataStax-Examples/object-mapper-jvm/lombok.
You can either map mutable “data” classes:
import lombok.Data;
import com.datastax.oss.driver.api.mapper.annotations.*;
@Data
@Entity
public class Product {
@PartitionKey private int id;
private String description;
}
Or immutable “value” classes:
import lombok.Value;
import com.datastax.oss.driver.api.mapper.annotations.*;
@Value
@Entity
@PropertyStrategy(mutable = false)
public class Product {
@PartitionKey private int id;
private String description;
}
You can also use Lombok’s fluent accessors if you configure the mapper accordingly:
import lombok.Data;
import lombok.experimental.Accessors;
import com.datastax.oss.driver.api.mapper.annotations.*;
import com.datastax.oss.driver.api.mapper.entity.naming.*;
@Data
@Accessors(fluent = true)
@Entity
@PropertyStrategy(getterStyle = GetterStyle.FLUENT, setterStyle = SetterStyle.FLUENT)
public static class Product {
@PartitionKey private int id;
private String description;
}
You’ll need to configure the Lombok annotation processor in your build. The only requirement is that it must run before the mapper’s.
See the compiler plugin’s configuration in the example’s pom.xml.
A similar result can be achieved with:
apply plugin: 'java'
def javaDriverVersion = '...'
def lombokVersion = '...'
dependencies {
annotationProcessor group: 'org.projectlombok', name: 'lombok', version: lombokVersion
annotationProcessor group: 'com.datastax.oss', name: 'java-driver-mapper-processor', version: javaDriverVersion
compile group: 'com.datastax.oss', name: 'java-driver-mapper-runtime', version: javaDriverVersion
compileOnly group: 'org.projectlombok', name: 'lombok', version: lombokVersion
}
You’ll also need to install a Lombok plugin in your IDE (for IntelliJ IDEA, this one is available in the marketplace).
Was this page helpful?
ScyllaDB Java Driver is available under the Apache v2 License. ScyllaDB Java Driver is a fork of DataStax Java Driver. See Copyright here.
On this page