当我尝试 Blaze Persistence 文档示例时发生 ClassCastException

ClassCastException occurs when I am trying the Blaze Persistence documentation sample

我正在尝试文档“1.5. First criteria query”部分中的示例代码。代码如下,

CriteriaBuilder<Cat> cb = cbf.create(em, Cat.class, "c")
    .where("c.age").betweenExpression("5").andExpression("10")
    .where("SIZE(c.kittens)").geExpression("2")
    .orderByAsc("c.name")
    .orderByAsc("c.id");

并且当我添加以下代码时发生 ClassCastException。

List<Cat> results = cb.getResultList();

我创建了 github public 存储库,因此您可以查看代码 here

有人知道我哪里错了吗?

我使用 Spring Boot 创建了项目。

如有任何帮助,我们将不胜感激。谢谢。

请添加日志,下次它们总是有用的

我建议你在调试中 运行 cb.getResultList() 并了解会发生什么

问题是您的 Cat 实体有一个 kittens 字段,它不是复数属性,而是整数。将其更改为 @OneToMany Set<Cat> kittens,查询将起作用。不幸的是,问题出在 Hibernate 方面,即 Hibernate 没有打印正确的错误消息,而是失败并出现异常。