我有两个类;
User {
private String name;
private Set<Role> roles;
}
Role {
private String name;
private boolean disabled;
}
在我的应用程序中,用户可以分配多个角色,这些角色存储在角色集中。 角色可能会被禁用并且用户不再可见。
我正在使用 Hibernate Criteria 来查询表;
Criteria criteria = session.createCriteria(User.class);
criteria.add(Restrictions.eq("name", name));
有没有办法查询用户表并使用此查询来“隐藏”他/她的角色集中已禁用的角色,我应该在运行查询后处理此问题吗?
最佳答案
最简单的方法,您可以使用@Where注解。它是 Hibernate 专有注释,我不喜欢专有注释,但它适合您的情况。
对旧链接感到抱歉,但在最新的 Hibernate 手册中,我没有找到对此注释的良好解释,尽管它仍然有效。
关于java - 隐藏集合中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14705401/