有没有办法在HQL中为实体添加隐式限制?例如,当我们使用hql“从客户端”查询列表时,我们需要仅选择具有某些特定系统ID的thouse客户端。系统ID本身取决于用户会话。所以我们需要将这个查询实际转换为“来自ClientId = systemId的客户端”,尽管我们没有在原始查询中指定它
答案 0 :(得分:0)
Hibernate Filter就是你所追求的......
为了确保你 提供目前有效 记录,启用过滤器 检索员工之前的会话 数据:
Session session = ...; session.enableFilter("effectiveDate").setParameter("asOfDate", new Date()); List results = session.createQuery("from Employee as e where e.salary > :targetSalary") .setLong("targetSalary", new Long(1000000)) .list();