附上hibernate配置
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><hibernate-configuration> <session-factory> <!-- Database connection settings -->
<property name="hibernate.connection.driver_class">org.gjt.mm.mysql.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/mysport</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">linke</property> <!-- SQL dialect -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
<!-- Drop and re-create the database schema on startup -->
<property name="hibernate.hbm2ddl.auto">update</property>
<!-- Echo all executed SQL to stdout -->
<property name="hibernate.show_sql">true</property>
<property name="hibernate.format_sql"> false</property>
<!--
<property name="hibernate.connection.autocommit">false</property>
-->
<!-- 文件映射 -->
<mapping resource="hibernate/test/Product.hbm.xml"/>
</session-factory></hibernate-configuration>
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><hibernate-configuration> <session-factory> <!-- Database connection settings -->
<property name="hibernate.connection.driver_class">org.gjt.mm.mysql.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/mysport</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">linke</property> <!-- SQL dialect -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
<!-- Drop and re-create the database schema on startup -->
<property name="hibernate.hbm2ddl.auto">update</property>
<!-- Echo all executed SQL to stdout -->
<property name="hibernate.show_sql">true</property>
<property name="hibernate.format_sql"> false</property>
<!--
<property name="hibernate.connection.autocommit">false</property>
-->
<!-- 文件映射 -->
<mapping resource="hibernate/test/Product.hbm.xml"/>
</session-factory></hibernate-configuration>
$Proxy0
Hibernate: insert into product (name) values (?)错误信息没有
日志没弄
DEBUG (AbstractBatcher.java:484) - preparing statement
DEBUG (AbstractEntityPersister.java:1997) - Dehydrating entity: [hibernate.test.Product#<null>]
DEBUG (NullableType.java:133) - binding 'Test:Wed Nov 26 00:47:50 CST 2008' to parameter: 1
DEBUG (IdentifierGeneratorFactory.java:72) - Natively generated identity: 38
DEBUG (AbstractBatcher.java:374) - about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
DEBUG (AbstractBatcher.java:533) - closing statement
DEBUG (TransactionAspectSupport.java:319) - Completing transaction for [hibernate.test.ProductService.saveProduct]
DEBUG (AbstractPlatformTransactionManager.java:880) - Triggering beforeCommit synchronization
DEBUG (AbstractPlatformTransactionManager.java:893) - Triggering beforeCompletion synchronization
DEBUG (AbstractPlatformTransactionManager.java:707) - Initiating transaction commit
DEBUG (HibernateTransactionManager.java:602) - Committing Hibernate transaction on Session [org.hibernate.impl.SessionImpl@5e222e]
DEBUG (JDBCTransaction.java:103) - commit
DEBUG (SessionImpl.java:337) - automatically flushing session
DEBUG (JDBCContext.java:205) - before transaction completion
DEBUG (SessionImpl.java:393) - before transaction completion
DEBUG (JDBCTransaction.java:116) - committed JDBC Connection
DEBUG (JDBCContext.java:219) - after transaction completion
DEBUG (ConnectionManager.java:302) - transaction completed on session with on_close connection release mode; be sure to close the session to release JDBC resources!
DEBUG (SessionImpl.java:422) - after transaction completion
DEBUG (AbstractPlatformTransactionManager.java:906) - Triggering afterCommit synchronization
DEBUG (AbstractPlatformTransactionManager.java:922) - Triggering afterCompletion synchronization
DEBUG (TransactionSynchronizationManager.java:282) - Clearing transaction synchronization
DEBUG (TransactionSynchronizationManager.java:199) - Removed value [org.springframework.orm.hibernate3.SessionHolder@4ed904] for key [org.hibernate.impl.SessionFactoryImpl@3fbbfc] from thread [main]
DEBUG (HibernateTransactionManager.java:681) - Closing Hibernate Session [org.hibernate.impl.SessionImpl@5e222e] after transaction
DEBUG (SessionFactoryUtils.java:774) - Closing Hibernate Session
DEBUG (SessionImpl.java:273) - closing session
DEBUG (ConnectionManager.java:380) - performing cleanup
DEBUG (ConnectionManager.java:441) - releasing JDBC connection [ (open PreparedStatements: 0, globally: 0) (open ResultSets: 0, globally: 0)]
DEBUG (DriverManagerConnectionProvider.java:129) - returning connection to pool, pool size: 1
DEBUG (JDBCContext.java:219) - after transaction completion
DEBUG (ConnectionManager.java:302) - transaction completed on session with on_close connection release mode; be sure to close the session to release JDBC resources!
DEBUG (SessionImpl.java:422) - after transaction completion
一直不明白的一点是:在spring+Hibernate事务配置中,DAO是如何实现的,是使用sessionFactory直接注入一个sessionFactory,还是通过注入sessionFactory,然后new 一个 HibernateTemplate?