当前位置: 首页 > 面试题库 >

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

廉博赡
2023-03-14
问题内容

我正在使用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

有没有一种方法来设置ParentCustomer,以null当id为0


问题答案:

尝试这个

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


 类似资料:
  • 我有一个订阅者实体,它使用用户提供的电子邮件地址作为主键,而不是自动生成的值。这意味着当调用JPararePository的save方法时,主键值不为空。 Spring Data JPA文件第2.2.1节表2.2说明如下: 默认情况下,Spring Data JPA检查给定实体的id属性。如果Id-Property为null,则该实体将被认为是新的,否则将被认为不是新的。 这种行为会阻止新的订阅者

  • 问题内容: 表单提交后,我将返回一些搜索结果。一切正常,直到我到达一个名为SMALLDATETIME并允许为NULL的字段。返回的行中至少有一个字段为NULL。正如您在下面的代码中看到的那样,当它不为NULL时,我会将其从Date转换为String没问题,但是对于包含NULL的行,我收到一条错误消息。 有任何想法吗? 代码: 错误信息: 警告:date_format()期望参数1为DateTime

  • 如果值为空,则需要在单元格中显示一个不间断的空格。这是我的模板: 我试过这个,但不管用: 它返回值的问题是: 如果许可证号带有值,则单元格为空,行颜色如下所示。 利用卢库马的建议,它表明了这一点: 更改筛选器中的if语句后,仍然不显示非值:

  • 以下是我如何发送: 或者像这样(两者都试过): 在接收端,如果我访问$\u POST,则它是空的。如果我访问文件\u获取\u内容('php://input“),然后它包含我的json。 这是怎么回事?

  • 问题内容: 我有以下选择语句,以获取流的下一个预定项目。如果没有匹配的行,我希望它返回默认值。这是我正在使用的行: 那应该可以获取最近计划的项目,但如果它早于查询之前30分钟,则不会。但是,如果用户未安排任何时间,则我需要一个默认值,以便流中实际播放某些内容。我尝试了以下方法: 和: 但是,如果未找到任何行,它将始终返回空结果。我该如何返回默认值? 问题答案: 一种方法 由于只返回一行,因此可以使

  • 我刚刚把我的超文本标记语言转换成WordPress。你可以在这里看到。我选择了每页显示一篇文章。 但是,我注意到我没有'Previous'链接和div。我现在只有'Next'链接和div。 如果我添加了'Previous'链接和div,我如何在我的主页中隐藏它(这里有最新的条目)?我如何在最后一个条目中隐藏“下一个”链接和div,而在最后一个条目页面中只显示“上一个”链接和div? 我想这个主题更