我是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对象?
答案 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。