在 Spring 中将自动增量 @Id 限制为 6 位

Limit autoincrement @Id to 6 digit in Spring

我有模型class 作为这个自动递增 id 其中returns 24位的objectId。

如何限制为6位?

型号Class:

@Id 
private String id;    
    
public String getId() {
        return id;
}

控制器Class:

ValidatorClass validation = new ValidatorClass();
    
Map<String, String> objValidate = validation.getExecutorInput(model.getLink(), 
                                    model.getUsername(), model.getPassword(), model.getSolution());

repository.save(model);

String id = "Request ID: " + model.getId();

return new ResponseEntity(id, org.springframework.http.HttpStatus.OK);

您可以对该字段进行注释以指定进一步的限制,例如:

@Id 
@Column(length = 6)
@Size(max = 6)
private String id;

此外,如果您想在持久化实体之前更好地控制 id,您可以向您的实体添加一个用 @PrePersist 注释的方法,您可以在其中 truncate/transform id 作为你需要,例如:

@PrePersist
public void prePersist() {
  this.id = this.adapt(id);
}