【问题标题】:Limit autoincrement @Id to 6 digit in Spring在 Spring 中将自动增量 @Id 限制为 6 位
【发布时间】:2021-05-19 06:09:29
【问题描述】:

我有一个模型课 作为这个自动增量ID 它返回 24 位的 objectId。

如何将其限制为仅 6 位?

模型类

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

控制器类

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);

【问题讨论】:

    标签: java spring mongodb spring-boot auto-increment


    【解决方案1】:

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

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

    此外,如果您想在持久化实体之前更好地控制id,您可以将带有@PrePersist 注释的方法添加到您的实体中,您可以根据需要截断/转换id,例如:

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

    【讨论】:

    • 感谢您的回答
    • 没问题,如果解决了您的问题,请记得将答案标记为已接受。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-11
    • 1970-01-01
    • 1970-01-01
    • 2018-02-11
    • 2012-09-12
    • 1970-01-01
    • 2017-04-05
    相关资源
    最近更新 更多