java - 方法引发了“javax.persistence.EntityNotFoundException”异常。无法评估 domain.MerchantTag$HibernateProxy$zHiEXWeN.toString()
问题描述
朋友们。我有一些问题。我希望你能帮助我。我有商人表、模型、存储库和服务。
商人.java
@Data
@Entity
@Table(name = "Merchant")
public class Merchant {
@Id
private String term;
private String tag;
@Column(name = "tag_full")
private String tagFull;
}
MerchantRepository.java
public interface MerchantRepository extends JpaRepository<Merchant, String> {
}
MerchantService.java
@Service
@RequiredArgsConstructor
public class MerchantService {
private final MerchantRepository merchantRepository;
public Merchant getOne(String term) {
return merchantRepository.getOne(term);
}
}
如果我发送表中的值,getOne 函数可以正常工作。但是如果我发送一个不在表中的值,我会得到一个错误。我该如何解决这个问题?
解决方案
你应该使用 findeOne() 而不是 getOne()。当实体可用时,我们使用 getOne()。findOne() 返回可选,应检查是否存在,使用 get() 返回实体。
推荐阅读
- c++ - 为什么即使满足条件,While 循环也会在 C++ 中无限执行?
- ios - 如何从 HealthKit 跑步锻炼中获取海拔增益、节奏和跑步速度?
- swift - 没有 UIViewRepresentable 的 SwiftUI 地图叠加层
- java - 使用 Hibernate EntityManager 获取映射超类的实例
- java - 使用 exec-maven-plugin 在 maven 项目中加载资源
- c++ - 在 Ubuntu 20.04 上安装 libgtk-3-dev
- c# - 使用 Firebase 在 Unity 中加载列表列表字典
- python - 降噪以改善字符识别?
- excel - 如何将数据从一个选项卡复制到另一个选项卡?
- python - 为什么我的从 url 更改 webhook 头像的程序在 discord.py 中不起作用