编写DAO方法以通过电子邮件检索appUsers,其中email属于EmailAddress类。一直在寻找如何做到这一点无济于事。有没有一种方法可以根据自定义对象的值来检索记录?当我拥有String或int类型的属性时,这似乎起作用,但是如何获取与我的EmailAddress对象匹配的记录?
尝试了以下操作,但不起作用:
public List<AppUser> findByEmail(EmailAddress email) {
log.debug("finding " + getTable() + " instance by example");
AppUser appUser = new AppUser();
appUser.setEmail(email);
try {
List<AppUser> results = this.sessionFactory.getCurrentSession()
.createCriteria(AppUser.class)
.add(Example.create(appUser)).list();
log.debug("find by example successful, result size: "
+ results.size());
return results;
} catch (RuntimeException re) {
log.error("find by example failed", re);
throw re;
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的AppUser类的相关部分
@Entity
@Table(name="AppUser")
public class AppUser extends BaseEntity {
...
@Column(name="Email")
private EmailAddress email;
...
/**
* Gets this AppUser's associated email
*
* @return …
Run Code Online (Sandbox Code Playgroud)