当我尝试 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 没有打印正确的错误消息,而是失败并出现异常。
我正在尝试文档“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 没有打印正确的错误消息,而是失败并出现异常。