Java Hibernate:使用限制检索对象

Java Hibernate:使用限制检索对象,java,hibernate,Java,Hibernate,我最近开始在java中使用hibernate 我有一个这样的实体员工: final public class Staff { @Id @GeneratedValue private int staffId; private String firstName; private String lastName; private String Email; @OneToOne(cascade = CascadeType.ALL) @JoinColumn(name = "auth_id", nulla

我最近开始在java中使用hibernate

我有一个这样的实体员工:

final public class Staff {
@Id @GeneratedValue
private int staffId;
private String firstName;
private String lastName;
private String Email;

@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "auth_id", nullable = false)
private Authentication auth;
//And all the getters and setters
}
我的身份验证类:

final public class Authentication {

@Id @GeneratedValue
@Column(name="auth_id")
private int authId;
private String pwd;
private String secretQuestion;
private String secretAnswer;
//And all the getters and setters
}
要登录,我需要检查电子邮件和密码。所以我创建了一个哈希映射:

Map<String, String> requirements = 
            new HashMap<String, String>();
            requirements.put("Email", "example@example.com");
                requirements.put("auth.pwd", "password");
我的问题是:我们如何为实体内部的实体设置限制


如果我遗漏了我应该提及的任何其他信息,请让我知道。谢谢

Staff
实体的
auth
属性使用别名:

Criteria crit = session.createCriteria(Staff.class, "staff");
crit.createAlias("auth", "a");  // Create alias for auth
crit.add(Restrictions.like("a.propertyName", propertyValue+"%"));

你所说的限制是什么意思?@orique阅读文档后,我了解到它与Hibernate标准一起用于从数据库检索信息。谢谢,我正在查看帖子,可能错过了一些信息。谢谢!它工作得很好。我设法让它工作:Criteria=session.createCriteria(currentClass.createAlias(“auth”,“a”);标准.增加(限制.所有要求));
org.hibernate.QueryException: could not resolve property: auth.pwd of: models.Staff
Criteria crit = session.createCriteria(Staff.class, "staff");
crit.createAlias("auth", "a");  // Create alias for auth
crit.add(Restrictions.like("a.propertyName", propertyValue+"%"));