-2
は、私は同じコードの2つのバージョンを持って(私は仮定):春・データJpaRepositoryオプションorElse重複エンティティ
Optional<UserHolder> user = userHolderRepository.findOneByUserId(source.getId());
return user.isPresent()
? user.get()
: userHolderRepository.save(new UserHolder(source.getId(), source.getLogin()));
と
UserHolder userHolder = userHolderRepository
.findOneByUserId(source.getId())
.orElse(userHolderRepository.save(new UserHolder(source.getId(), source.getLogin())));
return userHolder;
は私も@ManyToOne
userHoldersでMessage
実体を得ました。
上記のコードを呼び出してユーザーホルダー(存在する場合は作成するか、代わりに作成する)を呼び出すと、最初のスニペットはうまく機能し、2番目のスニペットは常に同じIDを持つ2番目のuserHolderを作成します。
コードスニペットは同じ動作をしていないと思いますが、Optional
スタイルコードを最初のスニペットとまったく同じにするにはどうすればよいですか?
ありがとうございます!