我刚开始使用Hibernate。我正在构建一个示例应用程序,在该应用程序中,我通过用户的电子邮件地址对其进行了注册。
当他们登录时,他们使用该电子邮件地址和密码。现在,如何在查询其电子邮件ID时获取/检索记录/结果?
我的代码如下所示:
Configuration config = new Configuration();
SessionFactory sessionFactory = config.configure().buildSessionFactory();
Session session = sessionFactory.openSession();
try{
Transaction tx = session.beginTransaction();
LoginBean L = (LoginBean)session.get(LoginBean.class,loginBean.getEmail());
}catch(HibernateException HE){
System.out.println(HE.getMessage());
}
当然,这个email
领域是一个String
。而Session.get()
需要class,integer
为它的参数。我确实有一个主键类型,Integer
但是我想使用该email
字段进行搜索/获取。
我该怎么办?
Session.get()
通过其主键查找实体。要通过其他方式查找实体,您需要执行查询:
LoginBean user = (LoginBean)
session.createQuery("select lb from LoginBean lb where lb.email = :email")
.setString("email", email)
.uniqueResult();
查询和JPQL在参考文档中进行了说明。阅读。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句