我想用预处理器实现虚拟视图。一个简单的例子:
HQL之前:
FROM PublishedArticle a
有效HQL后:
FROM Article a
WHERE a.published = true
本质上,我需要一种在查询执行之前处理查询的方法(而不是在运行中创建视图,这会有很高的成本)。
您可以使用StatementInspector
完全重写SQL以满足您的需求。
进一步阅读:如何在Hibernate中配置StatementInspector ?
你不能用Hibernate 过滤器做到这一点吗?当然,对于比WHERE
更复杂的事情,它不起作用:http://docs.jboss.org/hibernate/core/3.3/reference/en/html/filters.html