在 Spring 中将自动增量 @Id 限制为 6 位
Posted
技术标签:
【中文标题】在 Spring 中将自动增量 @Id 限制为 6 位【英文标题】:Limit autoincrement @Id to 6 digit in Spring 【发布时间】: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);
【问题讨论】:
【参考方案1】:您可以对字段进行注释以指定进一步的限制,例如:
@Id
@Column(length = 6)
@Size(max = 6)
private String id;
此外,如果您想在持久化实体之前更好地控制id
,您可以将带有@PrePersist
注释的方法添加到您的实体中,您可以根据需要截断/转换id,例如:
@PrePersist
public void prePersist()
this.id = this.adapt(id);
【讨论】:
感谢您的回答 没问题,如果解决了您的问题,请记得将答案标记为已接受。以上是关于在 Spring 中将自动增量 @Id 限制为 6 位的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 Hibernate 在 Spring Boot 中将 MongoDB 设置为自动递增
我应该为我的自动增量 ID MySQL 使用啥大小的 INT
如何使用 Spring Boot 在 DynamoDB 中添加具有自动增量键的新项目
通过使用 MySQL 的 DataJpaTest 存储库测试,Hibernate 不会在 H2 DB 中将用户设置为自动增量