| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
iazhou
12年前发布

解决 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();
</blockquote>
异常信息为: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();

</blockquote>

如果,你在映射时,未使用过Annotation,则使用Configuration。

附:若要修改MySQL的字符集,最直接的方式,是重新配置MySQL,MySQL的安装目录下有个文件

MySQL\MySQL Server 5.1\bin\MySQLInstanceConfig

执行下该文件,在“字符集设置”里选择你默认编码,一般是utf-8,或者是GBK。此外,需要注意源程序的编码也要与数据库一致。 

 本文由用户 iazhou 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1338309602245.html
Hibernate 持久层框架 hibernate;annotation