hibernate的查询问题

现在很多网站都在使用TAG,请问下,如果要搜出当且仅当所有的TAG都被满足时,才把记录取出来,hql支持这种方法吗?
比如:

搜索 美食,餐厅
需要的结果是 只有这两个标签的数据才被搜出,多一个少一个都不行,能做到吗?

hql写是可以写, 也就是用like来匹配这些tag,都匹配上了就OK了, 不过我估计性能不怎么样, 每个tag都得 like '%tag%'一次, 而且还是全部满足.一般的做法就是在数据库中做个全文索引, 也就是传说中的Lucene了, 然后检索出符合的tag, 返回符合的记录(可以从检索的结果中拿到该条记录的id的)

Hibernate有一个插件Hibernate search,可以做全文检索,你可以试试。
http://www.hibernate.org/410.html