网络安全 频道

Windows中打开和关闭FSO文件读写权限的方法



【IT168 技术文档】Hibernate配置文件可以有两种格式,一种是 hibernate.properties ,另一种是 hibernate.cfg.xml 

    后者稍微方便一些,当增加hbm映射文件的时候,可以直接在 hibernate.cfg.xml 里面增加,不必像 hibernate.properties 必须在初始化代码中加入。 

    但不管怎么说,两种的配置项都是一样的,下面详细介绍: 

    在Hibernate的src目录下有一个 hibernate.properties 模板,我们不必自己从头写,修改模板就可以了:) 


hibernate.query.substitutions true 1, false 0, yes 'Y', no 'N' 

    这个配置意思是当你在Hibernate里面输入true的时候,Hibernate会转化为1插入数据库,当你在Hibernate里面输入false的时候,Hibernate会转化为0插入数据库,后面的Y,N同理。 

    对于某些数据库,例如Oracle来说,没有boolean数据类型,就是采用1代表true,0代表false,因此使用这个配置在Hibernate里面直接用true/false会非常直观。 


hibernate.dialect net.sf.hibernate.dialect.MySQLDialect 
hibernate.connection.driver_class com.mysql.jdbc.Driver 
hibernate.connection.url jdbc:mysql:///test 
hibernate.connection.username root 
hibernate.connection.password 

这是一个连接MySQL数据库的例子,很直观,不必解释,不同的数据库的连接参数模板中全部给出了。 


hibernate.connection.pool_size 1 
hibernate.statement_cache.size 25 

这是Hibernate自带的连接池的配置参数,在默认情况下将采用。意义很直观,不多解释。 

    只是提醒一点,Hibernate这个连接池是非常原始非常简单的连接池,如果你在项目中用Hibernate的话,建议你首选App Server的连接池,次选Hibernate带的DBCP连接池。自带的连接池应该做为末选。 

如果你采用DBCP连接池,除了要配置DBCP连接池以外,还需要取消掉下行的注释: 

hibernate.connection.provider_class net.sf.hibernate.connection.DBCPConnectionProvider 

其它的连接池同理。 

如果采用App Server的连接池,假设App Server连接池的DataSource的JNDI名称为"mypool"的话,配置应该如下: 

hibernate.dialect net.sf.hibernate.dialect.MySQLDialect 
hibernate.connection.datasource mypool 
hibernate.connection.provider_class net.sf.hibernate.connection.DatasourceConnectionProvider 

其它参数就不必写了,因为已经在App Server配置连接池的时候指定好了。 

    如果你不是在App Server环境中使用Hibernate,例如远程客户端程序,但是你又想用App Server的数据库连接池,那么你还需要配置JNDI的参数,例如Hibernate连接远程Weblogic上的数据库连接池: 

hibernate.dialect net.sf.hibernate.dialect.MySQLDialect 
hibernate.connection.datasource mypool 
hibernate.connection.provider_class net.sf.hibernate.connection.DatasourceConnectionProvider 
hibernate.jndi.class weblogic.jndi.WLInitialContextFactory 
hibernate.jndi.url t3://servername:7001/ 


最后,如果你需要在EJB或者JTA中使用Hibernate,需要取消下行的注释: 

hibernate.transaction.factory_class net.sf.hibernate.transaction.JTATransactionFactory 

0
相关文章