java - Hibernate选择查询(员工通过电子邮件ID获取或通过姓名获取)

标签 java sql hibernate spring-mvc

在我的 Spring Hibernate 项目中,我需要来 self 的员工表的电子邮件地址而不是 ID 的单个员工对象。

 public Employee getEmployeeById(long employeeId) {
        return (Employee) sessionFactory.getCurrentSession().get(
        Employee.class, employeeId);
    }

不是这个......!

我需要这样的:

 public Employee getEmployeeByEmail(String empEmail) {
        return (Employee) sessionFactory.getCurrentSession().get(
        Employee.class, empEmail);
    }

但是不行......

最佳答案

使用条件 API:

public Employee getEmployeeByEmail(String empEmail) {
  Criteria crit = sessionFactory.getCurrentSession().createCriteria(Employee.class);
  crit.add(Restrictions.eq("email", empEmail)); //assuming Employee entity has "email" field
  return (Employee) crit.list().get(0);
}

关于java - Hibernate选择查询(员工通过电子邮件ID获取或通过姓名获取),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48902741/

相关文章:

java - 通过 Maven/Testng 通过动态自定义 TestNG 文件运行测试

java - 在Eclipse上配置J2EE版本

java - 使用 Java 将字符串输入数组的随机位置

sql - 三表连接,限制为 2 个表

java - 如何在 hibernate 中不更新 ddl 架构

java - Hibernate HQL 错误 - 意外标记 :

java - 将模型列表转换为json格式

sql - 在SQL的多个列中计算不同的值对

php - 返回最后插入的 id

java - Hibernate org.hibernate.LazyInitializationException : could not initialize