Hibernate搜索按字段值获取行

时间:2016-03-29 12:52:01

标签: mysql spring hibernate java-ee web-applications

我是hibernate和Spring的新手。

我的学生班有:

studentId;  
firstName;  
lastName;   
yearLevel;
getters/setters
...etc

我想通过firstName或lastName搜索学生。 所以我在StudentDaoImpl.java中尝试了这个方法:

@Override
public Student getStudentByLastName(String lastName) {
    return (Student)session.getIdentifier(lastName);
}  

并且它不起作用唯一有效的是由studentId搜索:

public Student getStudentByLastName(int studentId) {

    return (Student)sessionFactory.getCurrentSession().get(Student.class,studentId);
}

有没有办法通过搜索像lastName或firstName这样的字段值来获取Student对象?

1 个答案:

答案 0 :(得分:0)

我认为你在命名变量(firstName而不是firstname等)中使用camelCase。 http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/beans.html#beans-beanname

  

Bean命名约定

     

惯例是使用标准的Java约定   命名bean时的字段名称。也就是说,bean名称以a开头   小写字母,从那时起是骆驼装的。这样的例子   名称将是(不含引号)'accountManager','accountService',   'userDao','loginController'等等。

     

命名bean始终使您的配置更易于阅读和   理解,如果你使用的是Spring AOP,那么它可以帮助很多   将建议应用于一组与名称相关的bean。