我有两个实体:新闻和具有多对多关系的标签。新闻有一个日历字段。我有一个具有一些标签I和一个日历的长整型数组。我想获取所有的新闻,这些新闻至少有一个标签来自于in数组中指定的标签,并且只有那些日历比我拥有的日历更新的新闻。实现它的最好方法是什么?提前谢谢。
发布于 2012-06-05 03:01:38
JB Nizet和Mikko Maunu的综合答案:
SELECT DISTINCT n FROM News n INNER JOIN n.tags t
WHERE t.id IN (:tagIds) AND n.timestamp > :timestamp它需要传递List,数组就不行了。
发布于 2012-06-04 04:25:07
select n from News n inner join n.tags tag
where tag.id in (:tagIds)
and n.theCalendarField > :calendarParam发布于 2012-06-04 13:49:02
您没有显示的是tagIds的类型。根据预期中的消息,它是数组。由于您是在与Long进行比较,因此参数类型应为以下类型之一: long、Long或List<Long>。
https://stackoverflow.com/questions/10873641
复制相似问题