日期:2014-05-19  浏览次数:20733 次

hibernate 实体配置出问题了,求指导
Caused by: org.hibernate.MappingException: An AnnotationConfiguration instance is required to use <mapping class="local.com.model.A"/>
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1648)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1603)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1582)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1556)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1491)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:627)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
... 37 more

------解决方案--------------------
在spring的配置文件中改动sessionFactory里没加入这个映射的class
------解决方案--------------------
楼主想使用注解的话就不是用这个LocalSessionFactoryBean了
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="configLocation" value="classpath:jbpm.hibernate.cfg.xml" />
<property name="dataSource" ref="dataSource" />
<property name="annotatedClasses">
<list><value>local.com.model.A</value></list>
</property>

------解决方案--------------------
从报错信息看,你肯定使用的是注解。将Spring配置文件中装配sessionFactory的class由class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"改成
org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean
------解决方案--------------------
配置文件hibernate.cfg.xml资源路径配置格式不正确,你用anotation注解,在配置文件中应该你是不是用的
<mapping class=“”〉?有可能是pojo类的路径写错了,也很有可能还是用<mapping resource="">
------解决方案--------------------
引用:
晕,没看清楚引导包的,谢谢啦

可能不是SessionFactory实现类的原因,
因为我知道至少org.springframework.orm.hibernate4.LocalSessionFactoryBean是可以用annotation的,除非4和3有大区别