org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘sessionFactory’ defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister
总结:
出现这种情况的可能原因有:
1.实体类中的属性对象名与映射文件的property name不一致造成
2.实体类中的setter和getter方法名大小写错误
3.映射错误
4..hbm.xml中的头文件加载代码不正确,手动创建的.hbm.xml文件中的头文件为:
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
而目前ssh项目中hibernate映射文件中使用的路径是:
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
这是由于hibernate中的dtd文件的连接位置发生了变化,导致在加载文件时导出到路径,从而报错。