解决 An AnnotationConfiguration instance is required to use
您的评价: |
|
还行
|
最近学习Hibernate,尝试使用XML和Annotation两种方式进行POJO类的映射,有两个类:Student和Teacher,前者使用XML文件来映射类和属性,后者使用Annotation映射类和属性,并放在一个工程下。Hibernate的配置文件——hibernate.cfg.xml位于src目录下。在单元测试时,执行下面代码时,会产生异常。
Configuration cfg = new Configuration();
SessionFactory sf = cfg.configure().buildSessionFactory();
异常信息为:
org.hibernate.MappingException: An AnnotationConfiguration instance is required to use <mapping class="***"/>
原因分析:
Hibernate配置文件中,若带有<mapping class="com.jjj.Student"/>,则说明映射类时,采用了Annotation方式。在初始化Configuation时,应使用AnnoationConfiguration,代码如下:
Configuration cfg = new AnnoationConfiguration();
SessionFactory sf = cfg.configure().buildSessionFactory();
如果,你在映射时,未使用过Annotation,则使用Configuration。