Hibernate Configuration配置摘要:
一、配置方案
- 映射文件位于classpath路径下:
Configuration cfg = new Configuration()
.addResource("Item.hbm.xml")
.addResource("Bid.hbm.xml");
- 直接指定映射类(硬编码):
Configuration cfg = new Configuration()
.addClass(org.hibernate.auction.Item.class)
.addClass(org.hibernate.auction.Bid.class);
hibernate会在classpath路径下查找映射文件:/org/hibernate/auction/Item.hbm.xml 和 /org/hibernate/auction/Bid.hbm.xml - 使用Configuration指定configuration属性:
Configuration cfg = new Configuration()
.addClass(org.hibernate.auction.Item.class)
.addClass(org.hibernate.auction.Bid.class)
.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQLInnoDBDialect")
.setProperty("hibernate.connection.datasource", "java:comp/env/jdbc/test")
.setProperty("hibernate.order_updates", "true");
也可以通过以下几种方法设置配置属性:
●通过java.util.Properties实例传递到Configuration.setProperties()方法;
●将hibernate.properties配置文件放于classpath根目录下;
●通过 java -Dproperty=value 设置系统属性;
●在hibernate.cfg.xml文件中 <property> 元素;
二、可选配置属性
一般情况下,应用程序中只需要一个SessionFactory,如果要连接多个数据库可以多个SessionFactory。
SessionFactory sessions = cfg.buildSessionFactory();更多针对不同数据库的连接字串设置可参考/etc文件夹下的hibernate.properties。 系统属性一定要通过java -Dproperty=value来设置。
三、日志
需要log4j.jar、commons-logging。
log4j.properties文件可在/etc文件夹下找到。
四、命名策略(NamingStrategy)
SessionFactory sf = new Configuration()
.setNamingStrategy(ImprovedNamingStrategy.INSTANCE)
.addFile("Item.hbm.xml")
.addFile("Bid.hbm.xml")
.buildSessionFactory();org.hibernate.cfg.NamingStrategy
org.hibernate.cfg.ImprovedNamingStrategy
五、XML配置文件:hibernate.cfg.xml(放置于classpath路径下)
SessionFactory sf = new Configuration().configure().buildSessionFactory();
或者要指定使用其他的XML配置文件:
SessionFactory sf = new Configuration()
.configure("catdb.cfg.xml")
.buildSessionFactory();
本文详细介绍了Hibernate配置过程,包括映射文件的添加方式,如通过资源文件或直接指定类,配置属性的设定,如dialect和connection.datasource,以及日志配置,需要log4j.jar和commons-logging。还提到了可选配置属性,例如多个SessionFactory的可能性,并指出系统属性应通过java -Dproperty=value设置。最后,讨论了命名策略和XML配置文件hibernate.cfg.xml的作用。
1105

被折叠的 条评论
为什么被折叠?



