Как сделать UUID автоматически сгенерированным в приложении Springbok Cassandra
Я использую
Ява: 19
Спрингбут: 3.0
Зависимость
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-cassandra</artifactId>
</dependency>
Класс сущности
@Table
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Player {
@PrimaryKey
private UUID id;
Хотелось бы узнать, есть ли что-то подобное
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
что мы можем использовать с ним.
2 ответа
@CassandraType(type = DataType.Name.TIMEUUID)
не генерирует идентификатор автоматически.
Один из способов - назначить значение по умолчанию во время объявления значения, например
private UUID id = UUID.randomUUID();
но тем не менее, я считаю это обходным путем.
Это может быть достигнуто либо с помощью аннотации @CassandraType в сочетании с com.datastax.driver.core.DataType.Name.UUID
@Table
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Player {
@PrimaryKey
@CassandraType(type = DataType.Name.UUID)
private UUID id;
или аннотацию @CassandraType с com.datastax.driver.core.DataType.Name.TIMEUUID
@Table
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Player {
@PrimaryKey
@CassandraType(type = DataType.Name.TIMEUUID)
private UUID id;