- Configuration cfg = new Configuration().addResource("com/demo/hibernate/beans/User.hbm.xml");
2 为Configuration指定持久化类
一个替代的方法是指定被映射的类 让Hibernate帮你寻找映射定义文件
- Configuration cfg = new Configuration().addClass(com.demo.hibernate.beans.User.class);
Hibernate将会在类路径中需找名字为 /com/demo/hibernate/beans/User.hbm.xml 映射定义文件 消除了任何对文件名的硬编译
3 为Configuration指定配置属性
Configuration也允许指定配置属性
-
Configuration cfg =new Configuration().addClass(com.demo.hibernate.beans.User.class)
-
.setProperty("hibernate.dialect","org.hibernate.dialect.MySQLInnoDBDialect")
-
.setProperty("hibernate.connection.datasource","java:comp/env/jdbc/test")
- .setProperty("hibernate.order_update","true");
4 Configuration的三种加载方式
在Hibernate的启动与开发流程中 要使用一个Configuration 需要为他设置三个方面的内容
数据库连接属性
hbm.xml文件
POJO类
其中 第二个和第三个只需要设置一个 就会自动需找另一个 因为这两者只需一个
第一种方式是使用hibernate.cfg.xml 该文件设置了数据库连接的属性和hbm.xml映射文件配置 hibernate会自动加载该配置属性 并自动找到POJO 因此要取得Configuration对象 只需要简单的创建改对象即可
- Configuration cfg = new Configuration();
- cfg.configuration("hibernate.cfg.xml");
第二种方式是通过hibernate.properties 省略
第三种方式是完全在构造时进行硬编码设置 设置过程如下所示
- Configuration cfg =new Configuration()
-
.addClass(com.demo.hibernate.beans.User.class)
-
.setProperty("hibernate.dialect","org.hibernate.dialect.MySQLInnoDBDialect")
-
.setProperty("hibernate.connection.datasource","java:comp/env/jdbc/test")
- .setProperty("hibernate.order_update","true");
第一种方式是我们最常用的方式