如何使用JPA解决javax.persistence.EntityNotFoundException(而不是通过使用@NotFound)
2022-09-02 10:52:03
我们正在使用JPA从数据库中加载一些东西。某些实体之间可能有可选的关系,例如
@Entity
public class First {
....
@OneToOne(cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH, CascadeType.DETACH})
@JoinColumns(value = {
JoinColumn(name = "A_ID", referencedColumnName = "A_ID", insertable = false, updatable = false),
JoinColumn(name = "B_ID", referencedColumnName = "B_ID", insertable = false, updatable = false)})
private Second second;
当数据库中存在此关联时,一切正常。如果不是,则我得到的是我想要
的,而不是异常,如果关联不存在,则将此字段设置为NULL。javax.persistence.EntityNotFoundException
我已经尝试了几种不同的方法,例如在关系注释中使用anfety=true(顺便说一句,这是默认选项),将其设置为Nullable等。似乎没有什么可以解决问题,似乎所有这些选项都被忽略了。
我发现很多链接都提到了同样的问题(stackoverflow中的一些问题),但在所有这些链接中,建议使用Hibernate的注释。但是我们不希望对Hibernate有任何依赖性(我们希望保持所有纯JPA)。@NotFound
你们有谁知道其他方法来解决这个问题吗?
非常感谢您的帮助!