Hibernate 注解时 hibernate.hbm.xml的配置方法 以及与SSH整合里的配置方式
①纯Hibernate开发:
当你在Bean中写入注解后,需要告诉hibernate哪些类使用了注解。
方法是在hibernate.hbm.xml文件中配置
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <!-- 这些信息都可以在官方目录下的properties文件中找到 --> <hibernate-configuration> <!-- 告诉hibernate怎么连接数据库,底层还是用jdbc访问的 --> <session-factory> <property name="connection.driver_class"> com.mysql.jdbc.Driver </property> <property name="connection.url"> jdbc:mysql:///hibernatetest </property> <property name="connection.username">root</property> <property name="connection.password">123</property> <property name="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </property> <!-- hibernate启动的时候将已有的表重新覆盖,使用create的话 --> <property name="hbm2ddl.auto">create</property> <!-- 当hibernate运行时产生sql语句 --> <property name="show_sql">true</property> <mapping class="com.hyy.hibernate.one_to_many.domain.Department"/> <mapping class="com.hyy.hibernate.one_to_many.domain.Employee"/> </session-factory> </hibernate-configuration>
即上述xml文件中带下划线部分。
②如果是SSH整合框架中:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <!-- 扫描 --> <context:component-scan base-package="com.hlcg"></context:component-scan> <!-- 配置数据源 --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <property name="driverClass" value="org.gjt.mm.mysql.Driver"/> <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/hlcg?useUnicode=true&characterEncoding=UTF-8"/> <property name="user" value="root"/> <property name="password" value="123"/> <!--初始化时获取的连接数,取值应该在最大和最小之间。默认:3--> <property name="initialPoolSize" value="15"/> <property name="minPoolSize" value="10"/> <!-- 连接池中保留的最大连接数,默认:15 --> <property name="maxPoolSize" value="80"/> <!-- 最大空闲时间,60秒内未使用则连接被丢弃。若0则永远不丢弃,默认:0 --> <property name="maxIdleTime" value="30"/> <!-- 当连接池的连接耗尽的时候,c3p0一次同时获取的连接数,默认:3 --> <property name="acquireIncrement" value="5"/> <!-- 每60秒检查连接池中所有空闲连接,默认:0 --> <property name="idleConnectionTestPeriod" value="30"/> </bean> <!-- 配置sessionFactory --> <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="mappingResources"> <list> <!--这里是存放以XML形式映射实体的xml文件路径--> </list> </property> <property name="hibernateProperties"> <value> hibernate.dialect=org.hibernate.dialect.MySQL5Dialect hibernate.hbm2ddl.auto=update show_sql=true format_sql=true cache.use_second_level_cache=true hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider hibernate.cache.region.factory_class=org.hibernate.cache.ehcache.EhCacheRegionFactory hibernate.cache.use_query_cache=true </value> </property> <property name="packagesToScan" value="com.hlcg.main.bean"/> </bean> </beans>
以上下划线部分配置Hibernate注解。
本文出自 无忧之路 - 博客园