我的问题是,如果已经手动插入(我使用MySQL),Hibernate不会从数据库中读取任何数据。我的意思是我删除了PATIENTS表,然后Hibernate为我创建了它,之后我从PATIENTS.sql插入了数据。当我启动我的应用程序时,没有患者显示,例如show_patients.jsp。但我仍然可以使用插入的记录通过登录页面访问我的应用程序。
这是我在@Controller中的方法:
@RequestMapping(value = "/therapist/showPatients", method = RequestMethod.GET)
public String showExistingPatients(ModelMap map) {
List<Patient> patientsList = userService.getAllPatients();
map.addAttribute("patientsList", patientsList);
return "therapist/show_patients";
}
这是我在UserDAOImpl中的方法:
public List<Patient> selectAllPatients(){
DetachedCriteria criteria = DetachedCriteria.forClass(Patient.class);
List<Patient> patients = null;
try{
patients = getHibernateTemplate().findByCriteria(criteria);
} catch (DataAccessException ex){
ex.printStackTrace();
}
return patients;
}
我可以在show_patients.jsp中看到任何患者的唯一方法是通过我的应用程序添加新患者,允许Hiberante保存它。所以我的问题是,如果有任何条件,为什么只有在Hibernate的save()之后才能工作,或者我做错了什么?
答案 0 :(得分:0)
两种变体: