打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
hibernate官方文档(介绍hbm.xml配置的)
http://www.hibernate.org/114.html

If you use Hibernate on Tomcat you don't have to use Tomcat'sJNDI-bound JDBC connections. You can let Hibernate manage the JDBCconnection pool. This works on all versions of Tomcat and is very easyto configure.

First, create a hibernate.cfg.xml or hibernate.propertiesfile, as per documentation (no, property names in cfg.xml don't have tobe prefixed with "hibernate.xxx"):

<!DOCTYPE hibernate-configuration PUBLIC 
    "-//Hibernate/Hibernate Configuration DTD//EN"
    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"
>

<hibernate-configuration>
    
<session-factory>
    
        
<!-- Settings for a local HSQL (testing) database. -->
        
<property name="dialect">org.hibernate.dialect.HSQLDialect</property>
        
<property name="connection.driver_class">org.hsqldb.jdbcDriver</property>
        
<property name="connection.url">jdbc:hsqldb:hsql://localhost</property>
        
<property name="connection.username">sa</property>
        
<property name="connection.password"></property>

        
<!-- Use the C3P0 connection pool. -->
        
<property name="c3p0.min_size">3</property>
        
<property name="c3p0.max_size">5</property>
        
<property name="c3p0.timeout">1800</property>
    
        
<!-- Disable second-level cache. -->
        
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
        
<property name="cache.use_query_cache">false</property>
        
<property name="cache.use_minimal_puts">false</property>
        
<property name="max_fetch_depth">3</property>
    
        
<!-- Print SQL to stdout. -->
        
<property name="show_sql">true</property>
        
<property name="format_sql">true</property>
    
        
<!-- Drop and then re-create schema on SessionFactory build, for testing. -->
        
<property name="hbm2ddl.auto">create</property>
    
        
<!-- Bind the getCurrentSession() method to the thread. -->
        
<property name="current_session_context_class">thread</property>

        
<!-- Hibernate XML mapping files -->
        
<mapping resource="org/MyClass.hbm.xml"/>
    
        
<!-- Hibernate Annotations (and package-info.java)
        <mapping package="org.mypackage"/>
        <mapping class="org.MyClass/>
        
-->

    
</session-factory>

</hibernate-configuration>

Now copy this file into your WEB-INF/classes directory ofyour web application. Copy hibernate3.jar into your WEB-INF/libdirectory and with it all required 3rd party libraries (seelib/README.txt in the Hibernate distribution). Don't forget to also copyyour JDBC driver to common/lib or WEB-INF/lib. Neverever copy anything in Tomcat into a global directory outside of yourweb application or you are in classloader hell!

Start Hibernate by building a SessionFactory, as shown here with HibernateUtil.

This listener initializes and closes Hibernate on deployment andundeployment, instead of the first user request hitting the application:

public class HibernateListener implements ServletContextListener {

    
public void contextInitialized(ServletContextEvent event) {
        HibernateUtil.getSessionFactory(); 
// Just call the static initializer of that class    
    }


    
public void contextDestroyed(ServletContextEvent event) {
        HibernateUtil.getSessionFactory().close(); 
// Free all resources
    }

}
Add it to your web.xml:

<listener>
    
<listener-class>org.mypackage.HibernateListener</listener-class>
</listener>
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Hibernate入门教程(纯Eclipse版)
hibernate官方入门教程 (转载)
CSDN 文档中心:Hibernate访问多个数据库
ANT+Xdoclet自动生成Hibernate配置文件\映射文件(正确)
SSH整合开发环境搭建的一种解决方案
一对一主键关联映射(单向)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服