Hibernate隐式实体限制

时间:2009-12-08 12:30:12

标签: hibernate

有没有办法在HQL中为实体添加隐式限制?例如,当我们使用hql“从客户端”查询列表时,我们需要仅选择具有某些特定系统ID的thouse客户端。系统ID本身取决于用户会话。所以我们需要将这个查询实际转换为“来自ClientId = systemId的客户端”,尽管我们没有在原始查询中指定它

1 个答案:

答案 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();