Spring Boot锁定代码以获取唯一的ID

Spring Boot锁定代码以获取唯一的ID,第1张

Spring Boot锁定代码以获取唯一的ID

根据您的情况,更好的主意是使用UUID:

因此,任何人都可以创建一个UUID并几乎可以肯定地使用它来标识某些内容,即该标识符不会重复已经或将要创建的用于标识其他内容的标识符。因此,以后可以将由独立各方用UUID标记的信息合并到单个数据库中,或在同一信道上传输,且重复的可能性很小。

@Servicepublic class UtilityServices {    @Autowired    private UniqueIdRepository uniqueIdRepository;    @Transactional    public String getUniqueIdentifier() {       String uniqueId = String.format("%s-%s", RandomStringUtils.randomAlphanumeric(4), UUID.randomUUID().toString().replace("-", "")       );       // you could left this check        while (uniqueIdRepository.existsById(uniqueId)) {uniqueId = UUID.randomUUID().toString().replace("-", "");       }       uniqueIdRepository.save(new UniqueId(uniqueId));       return uniqueId;    }}

顺便说一句, 您可以使用

@Data
Model:

@Data@Entity@NoArgsConstructor@AllArgsConstructorpublic class UniqueId implements Serializable {    private static final long serialVersionUID = 0L;    @Id    private String uniqueId;   }

而且不要忘记

serialVersionUID



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5621755.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存