我通过id从Repository获得的Currency
实体可能为null。在这种情况下,我想用这个id创建新的Currency
实体,然后再次将其持久化。
我带来了以下解决方案
Optional<Currency> currencyOptional = currencyRepository.findById(1L);
Currency usd;
if (currencyOptional.isEmpty()) {
usd = Currency.builder()
.id(1L)
.currencyCode(ECurrencyCode.USD)
.rates(new HashSet<>())
.build();
} else {
usd = currencyOptional.get();
}
有比这更好的解决方案吗?
这个怎么样:
Currency usd = currencyRepository.findById(1L).orElse(
Currency.builder()
.id(1L)
.currencyCode(ECurrencyCode.USD)
.rates(new HashSet<>())
.build());