Как сделать 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;
Другие вопросы по тегам