每当JPA2中的CriteriaQuery
没有产生结果时,就会抛出NoResultException
。从某种意义上讲,这个异常并不是非常有用,因为只有抛出异常的行号的上下文信息可能会给出一些错误指示。
我想有一些发言输出“寻找一类类型和限制适用于哪里和”。看起来,CriteriaQuery
对这些信息非常害羞,但看起来,通过反射和getter方法的组合,我最终会得到我想要的所有信息,但它会非常混乱和麻烦。
是否有更好的方法来检索数据,这些数据已进入CriteriaQuery
- 对象?
答案 0 :(得分:0)
只要您坚持使用JPA API,就可以获得CriteriaQuery的公共接口。
如果您准备好了特定于实现并使用Hibernate实现,可以通过将其转换为org.hibernate.ejb.CriteriaQueryImpl来获得更多可用内容。例如,render方法似乎提供了对具有getQueryString方法的嵌套类的访问。
很可能从其他JPA实现中可以找到一些类似的方法。