在学习hibernate框架时,我下载了hibernate5.2,这个版本的建立Registry的方法改版了,因此,一不小心就
会出现MappingException:.........这就说明方法不对了,这里我贴出我的代码来参考,
Configuration config = new Configuration().configure();
StandardServiceRegistry registry = new StandardServiceRegistryBuilder().configure().build();
sessionFactory = config.buildSessionFactory(registry);
session = sessionFactory.openSession();
transaction = session.beginTransaction();
这里用到的是StandardServiceRegistry,原先的过时了。
在mysql5.7的版本里,我用的是C:\Program Files\MySQL\Connector J 8.0版本,就是mysql-jdbc-connector 8.0
在hibernate.cfg.hbm里面,就要改成
<property name="connection.driver_class">com.mysql.cj.jdbc.Driver</property>
要配置的还有下面这些:
<property name="connection.url">jdbc:mysql://localhost:3306/hibernate</property>
<property name="connection.useUnicode">true</property>
<property name="connection.characterEncoding">utf8</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
<property name="connection.driver_class">com.mysql.cj.jdbc.Driver</property>
<property name="connection.serverTimezone">Asia/Shanghai</property>
<property name="connection.pool_size">1</property>
<property name="show_sql">false</property>
<property name="format_sql">false</property>
<property name="hbm2ddl.auto">create</property>
<mapping resource="com/xinghe/entity/Students.hbm.xml"/>
上面这部分很关键,我也是参考的https://blog.youkuaiyun.com/jingchuanhe/article/details/54561416。
如果使用JBoss-hibernate tool插件来进行配置时,不要忘了,选择与Jar包相同的版本,
因为不同版本的文件约束会不同。文件结构就不在这里列出了。