解决 An AnnotationConfiguration instance is required to use

来源:互联网 发布:赛尔网络集美大学 编辑:程序博客网 时间:2024/05/22 18:39
最近学习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。


另外,附上连接sqlserver2005的配置信息:

        <property name="connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
        <property name="connection.url">jdbc:sqlserver://localhost:1433;DatabaseName=hibernate</property>
        <property name="connection.username">sa</property>
        <property name="connection.password">****(你设置的密码)</property>


谨以此文记录自己的成长足迹。


原创粉丝点击