如果找不到实体,则为空对象

我正在使用Hibernate和JPA。 我有一个名为Customer的实体引用了ParentCustomer

 public class Customer { @Id @GeneratedValue @Column(name = "CustomerID") private int id; @ManyToOne @JoinColumn(name = "ParentCustomerID") private Customer parent; // ... } 

但是在我的数据库中有一些客户没有父级,因此ParentCustomerID设置为0 。 我测试课程时得到的例外是:

javax.persistence.EntityNotFoundException: Unable to find it.keyforup.pat.data.entities.Customer with id 0

当id为0时,有没有办法将ParentCustomer设置为null

试试这个

 @ManyToOne @JoinColumn(name = "ParentCustomerID") @NotFound(action = NotFoundAction.IGNORE) private Customer parent;