这是我的问题。
我有两个索引模型ACL和Asset。这两个表之间没有真正的链接,而不是ACL对象的ID与Asset对象相同。
使用HQL,我有这个请求如何完美运行:
String[] permissions
Query query = session.createQuery("From Asset as asset, "
+ "Acl as acl "
+ "where asset.id = :id and asset.id = acl.object.id "
+ AclService.buildQuery (permissions)
+ "and acl.group in (:groups) ");
query.setParameter("id", assetId);
query.setParameterList("groups", user.getGroup().getGroups().values());
public static String buildQuery(String[] perms) {
StringBuilder buf = new StringBuilder();
for (int i=0; i<perms.length; i++) {
buf.append("and ");
buf.append(perms[i]);
buf.append(" = true ");
}
return buf.toString();
}
我想做同样的数据库请求,但是使用Hibernate Search。我怎样才能做到这一点。我已经看过这个http://docs.jboss.org/hibernate/stable/search/reference/en-US/html_single/#query-filter,但我无法取得好成绩。
我该怎么做呢?
答案 0 :(得分:0)
正如哈迪所说,你需要两个实体的综合指数。 Hibernate Search此时不支持(查询时间)索引加入。
查看参考指南中涉及indexing of associated entities的部分。可以使用<script type="text/javascript" src="catalog/view/javascript/jquery/colorbox/jquery.colorbox-min.js"></script>
和<script type="text/javascript" src="catalog/view/javascript/jquery/jquery-1.7.1.min.js"></script>
注释。