解决 An AnnotationConfiguration instance is required to use
iazhou
12年前
最近学习Hibernate,尝试使用XML和Annotation两种方式进行POJO类的映射,有两个类:Student和Teacher,前者使用XML文件来映射类和属性,后者使用Annotation映射类和属性,并放在一个工程下。Hibernate的配置文件——hibernate.cfg.xml位于src目录下。在单元测试时,执行下面代码时,会产生异常。
Configuration cfg = new Configuration();</blockquote>
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,代码如下:
</blockquote>Configuration cfg = new AnnoationConfiguration();
SessionFactory sf = cfg.configure().buildSessionFactory();如果,你在映射时,未使用过Annotation,则使用Configuration。
附:若要修改MySQL的字符集,最直接的方式,是重新配置MySQL,MySQL的安装目录下有个文件
MySQL\MySQL Server 5.1\bin\MySQLInstanceConfig
执行下该文件,在“字符集设置”里选择你默认编码,一般是utf-8,或者是GBK。此外,需要注意源程序的编码也要与数据库一致。