解決 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。


另外,附上連接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>


謹以此文記錄自己的成長足跡。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章