我正在通过休眠执行SQL查询,如下所示:

SELECT thi
FROM track_history_items thi
JOIN artists art
  ON thi.artist_id = art.id
WHERE thi.type = "TrackBroadcast"
GROUP BY art.name
ORDER thi.createdAt DESC

但我收到消息“要遍历的节点不能为空!”。有人知道是什么原因造成的吗?

-编辑-

我很确定此问题是由artist_id为null的可能性引起的。但是,我无法避免这种情况,因此我可以只跳过具有null artist_id的track_history_item行吗?

最佳答案

我只有在使用createQuery而不是createNamedQuery时才得到该错误。
因此,在检测到这一点时,休眠会抛出异常。

Query query = entityManager.createQuery("DS.findUser");

关于sql - 要遍历的节点不能为空(Hibernate SQL),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5817775/

10-10 06:41