附上运行日志运行结果(加了Log4j进去了):
 INFO (AbstractApplicationContext.java:412) - Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@1ff5ea7: display name [org.springframework.context.support.ClassPathXmlApplicationContext@1ff5ea7]; startup date [Wed Nov 26 12:03:37 CST 2008]; root of context hierarchy
 INFO (XmlBeanDefinitionReader.java:323) - Loading XML bean definitions from class path resource [applicationContext4.xml]
 INFO (AbstractApplicationContext.java:427) - Bean factory for application context [org.springframework.context.support.ClassPathXmlApplicationContext@1ff5ea7]: org.springframework.beans.factory.support.DefaultListableBeanFactory@a4e2e3
 INFO (DefaultListableBeanFactory.java:414) - Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@a4e2e3: defining beans [sessionFactory,productDao,productService,transactionManager,org.springframework.aop.config.internalAutoProxyCreator,productServiceMethods,org.springframework.aop.support.DefaultBeanFactoryPointcutAdvisor#0,txAdvice]; root of factory hierarchy
 INFO (Environment.java:514) - Hibernate 3.2.6
 INFO (Environment.java:547) - hibernate.properties not found
 INFO (Environment.java:681) - Bytecode provider name : cglib
 INFO (Environment.java:598) - using JDK 1.4 java.sql.Timestamp handling
 INFO (Configuration.java:1447) - configuring from url: file:/F:/FENGZI/SOURCE/mysportTest/build/classes/hibernate.cfg.xml
 INFO (Configuration.java:559) - Reading mappings from resource : hibernate/test/Product.hbm.xml
 INFO (HbmBinder.java:300) - Mapping class: hibernate.test.Product -> product
 INFO (Configuration.java:1547) - Configured SessionFactory: null
 INFO (LocalSessionFactoryBean.java:730) - Building new Hibernate SessionFactory
 INFO (C3P0ConnectionProvider.java:81) - C3P0 using driver: org.gjt.mm.mysql.Driver at URL: jdbc:mysql://localhost:3306/mysport
 INFO (C3P0ConnectionProvider.java:82) - Connection properties: {user=root, password=****}
 INFO (C3P0ConnectionProvider.java:85) - autocommit mode: false
 INFO (MLog.java:80) - MLog clients using log4j logging.
 INFO (C3P0Registry.java:204) - Initializing c3p0-0.9.1 [built 16-January-2007 14:46:42; debug? true; trace: 10]
 INFO (AbstractPoolBackedDataSource.java:462) - Initializing c3p0 pool... com.mchange.v2.c3p0.PoolBackedDataSource@fceb0116 [ connectionPoolDataSource -> com.mchange.v2.c3p0.WrapperConnectionPoolDataSource@515ab955 [ acquireIncrement -> 3, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, debugUnreturnedConnectionStackTraces -> false, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> 1hge0yt7x1nn8r35xv88et|2b9406, idleConnectionTestPeriod -> 0, initialPoolSize -> 5, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 200, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 5, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 5, nestedDataSource -> com.mchange.v2.c3p0.DriverManagerDataSource@f2905e6 [ description -> null, driverClass -> null, factoryClassLocation -> null, identityToken -> 1hge0yt7x1nn8r35xv88et|1b446d1, jdbcUrl -> jdbc:mysql://localhost:3306/mysport, properties -> {user=******, password=******} ], preferredTestQuery -> null, propertyCycle -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 0, usesTraditionalReflectiveProxies -> false; userOverrides: {} ], dataSourceName -> null, factoryClassLocation -> null, identityToken -> 1hge0yt7x1nn8r35xv88et|e35bb7, numHelperThreads -> 3 ]
 INFO (SettingsFactory.java:89) - RDBMS: MySQL, version: 5.0.67-community-nt
 INFO (SettingsFactory.java:90) - JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-5.0.8 ( Revision: ${svn.Revision} )
 INFO (Dialect.java:152) - Using dialect: org.hibernate.dialect.MySQL5Dialect
 INFO (TransactionFactoryFactory.java:34) - Transaction strategy: org.springframework.orm.hibernate3.SpringTransactionFactory
 INFO (TransactionManagerLookupFactory.java:33) - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
 INFO (SettingsFactory.java:143) - Automatic flush during beforeCompletion(): disabled
 INFO (SettingsFactory.java:147) - Automatic session close at end of transaction: disabled
 INFO (SettingsFactory.java:154) - JDBC batch size: 15
 INFO (SettingsFactory.java:157) - JDBC batch updates for versioned data: disabled
 INFO (SettingsFactory.java:162) - Scrollable result sets: enabled
 INFO (SettingsFactory.java:170) - JDBC3 getGeneratedKeys(): enabled
 INFO (SettingsFactory.java:178) - Connection release mode: auto
 INFO (SettingsFactory.java:202) - Maximum outer join fetch depth: 2
 INFO (SettingsFactory.java:205) - Default batch fetch size: 1
 INFO (SettingsFactory.java:209) - Generate SQL with comments: disabled
 INFO (SettingsFactory.java:213) - Order SQL updates by primary key: disabled
 INFO (SettingsFactory.java:217) - Order SQL inserts for batching: disabled
 INFO (SettingsFactory.java:386) - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
 INFO (ASTQueryTranslatorFactory.java:24) - Using ASTQueryTranslatorFactory
 INFO (SettingsFactory.java:225) - Query language substitutions: {}
 INFO (SettingsFactory.java:230) - JPA-QL strict compliance: disabled
 INFO (SettingsFactory.java:235) - Second-level cache: enabled
 INFO (SettingsFactory.java:239) - Query cache: disabled
 INFO (SettingsFactory.java:373) - Cache provider: org.hibernate.cache.NoCacheProvider
 INFO (SettingsFactory.java:254) - Optimize cache for minimal puts: disabled
 INFO (SettingsFactory.java:263) - Structured second-level cache entries: disabled
 INFO (SettingsFactory.java:283) - Echoing all SQL to stdout
 INFO (SettingsFactory.java:290) - Statistics: disabled
 INFO (SettingsFactory.java:294) - Deleted entity synthetic identifier rollback: disabled
 INFO (SettingsFactory.java:309) - Default entity-mode: pojo
 INFO (SettingsFactory.java:313) - Named query checking : enabled
 INFO (SessionFactoryImpl.java:161) - building session factory
 INFO (SessionFactoryObjectFactory.java:82) - Not binding factory to JNDI, no JNDI name configured
 INFO (SchemaUpdate.java:115) - Running hbm2ddl schema update
 INFO (SchemaUpdate.java:126) - fetching database metadata
 INFO (SchemaUpdate.java:138) - updating schema
 INFO (TableMetadata.java:39) - table found: mysport.product
 INFO (TableMetadata.java:40) - columns: [id, name]
 INFO (TableMetadata.java:42) - foreign keys: []
 INFO (TableMetadata.java:43) - indexes: [primary]
 INFO (SchemaUpdate.java:160) - schema update complete
Hibernate: insert into product (name) values (?)

解决方案 »

  1.   

    附上运行日志运行结果(加了Log4j进去了):
     INFO (AbstractApplicationContext.java:412) - Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@1ff5ea7: display name [org.springframework.context.support.ClassPathXmlApplicationContext@1ff5ea7]; startup date [Wed Nov 26 12:03:37 CST 2008]; root of context hierarchy
     INFO (XmlBeanDefinitionReader.java:323) - Loading XML bean definitions from class path resource [applicationContext4.xml]
     INFO (AbstractApplicationContext.java:427) - Bean factory for application context [org.springframework.context.support.ClassPathXmlApplicationContext@1ff5ea7]: org.springframework.beans.factory.support.DefaultListableBeanFactory@a4e2e3
     INFO (DefaultListableBeanFactory.java:414) - Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@a4e2e3: defining beans [sessionFactory,productDao,productService,transactionManager,org.springframework.aop.config.internalAutoProxyCreator,productServiceMethods,org.springframework.aop.support.DefaultBeanFactoryPointcutAdvisor#0,txAdvice]; root of factory hierarchy
     INFO (Environment.java:514) - Hibernate 3.2.6
     INFO (Environment.java:547) - hibernate.properties not found
     INFO (Environment.java:681) - Bytecode provider name : cglib
     INFO (Environment.java:598) - using JDK 1.4 java.sql.Timestamp handling
     INFO (Configuration.java:1447) - configuring from url: file:/F:/FENGZI/SOURCE/mysportTest/build/classes/hibernate.cfg.xml
     INFO (Configuration.java:559) - Reading mappings from resource : hibernate/test/Product.hbm.xml
     INFO (HbmBinder.java:300) - Mapping class: hibernate.test.Product -> product
     INFO (Configuration.java:1547) - Configured SessionFactory: null
     INFO (LocalSessionFactoryBean.java:730) - Building new Hibernate SessionFactory
     INFO (C3P0ConnectionProvider.java:81) - C3P0 using driver: org.gjt.mm.mysql.Driver at URL: jdbc:mysql://localhost:3306/mysport
     INFO (C3P0ConnectionProvider.java:82) - Connection properties: {user=root, password=****}
     INFO (C3P0ConnectionProvider.java:85) - autocommit mode: false
     INFO (MLog.java:80) - MLog clients using log4j logging.
     INFO (C3P0Registry.java:204) - Initializing c3p0-0.9.1 [built 16-January-2007 14:46:42; debug? true; trace: 10]
     INFO (AbstractPoolBackedDataSource.java:462) - Initializing c3p0 pool... com.mchange.v2.c3p0.PoolBackedDataSource@fceb0116 [ connectionPoolDataSource -> com.mchange.v2.c3p0.WrapperConnectionPoolDataSource@515ab955 [ acquireIncrement -> 3, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, debugUnreturnedConnectionStackTraces -> false, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> 1hge0yt7x1nn8r35xv88et|2b9406, idleConnectionTestPeriod -> 0, initialPoolSize -> 5, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 200, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 5, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 5, nestedDataSource -> com.mchange.v2.c3p0.DriverManagerDataSource@f2905e6 [ description -> null, driverClass -> null, factoryClassLocation -> null, identityToken -> 1hge0yt7x1nn8r35xv88et|1b446d1, jdbcUrl -> jdbc:mysql://localhost:3306/mysport, properties -> {user=******, password=******} ], preferredTestQuery -> null, propertyCycle -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 0, usesTraditionalReflectiveProxies -> false; userOverrides: {} ], dataSourceName -> null, factoryClassLocation -> null, identityToken -> 1hge0yt7x1nn8r35xv88et|e35bb7, numHelperThreads -> 3 ]
     INFO (SettingsFactory.java:89) - RDBMS: MySQL, version: 5.0.67-community-nt
     INFO (SettingsFactory.java:90) - JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-5.0.8 ( Revision: ${svn.Revision} )
     INFO (Dialect.java:152) - Using dialect: org.hibernate.dialect.MySQL5Dialect
     INFO (TransactionFactoryFactory.java:34) - Transaction strategy: org.springframework.orm.hibernate3.SpringTransactionFactory
     INFO (TransactionManagerLookupFactory.java:33) - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
     INFO (SettingsFactory.java:143) - Automatic flush during beforeCompletion(): disabled
     INFO (SettingsFactory.java:147) - Automatic session close at end of transaction: disabled
     INFO (SettingsFactory.java:154) - JDBC batch size: 15
     INFO (SettingsFactory.java:157) - JDBC batch updates for versioned data: disabled
     INFO (SettingsFactory.java:162) - Scrollable result sets: enabled
     INFO (SettingsFactory.java:170) - JDBC3 getGeneratedKeys(): enabled
     INFO (SettingsFactory.java:178) - Connection release mode: auto
     INFO (SettingsFactory.java:202) - Maximum outer join fetch depth: 2
     INFO (SettingsFactory.java:205) - Default batch fetch size: 1
     INFO (SettingsFactory.java:209) - Generate SQL with comments: disabled
     INFO (SettingsFactory.java:213) - Order SQL updates by primary key: disabled
     INFO (SettingsFactory.java:217) - Order SQL inserts for batching: disabled
     INFO (SettingsFactory.java:386) - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
     INFO (ASTQueryTranslatorFactory.java:24) - Using ASTQueryTranslatorFactory
     INFO (SettingsFactory.java:225) - Query language substitutions: {}
     INFO (SettingsFactory.java:230) - JPA-QL strict compliance: disabled
     INFO (SettingsFactory.java:235) - Second-level cache: enabled
     INFO (SettingsFactory.java:239) - Query cache: disabled
     INFO (SettingsFactory.java:373) - Cache provider: org.hibernate.cache.NoCacheProvider
     INFO (SettingsFactory.java:254) - Optimize cache for minimal puts: disabled
     INFO (SettingsFactory.java:263) - Structured second-level cache entries: disabled
     INFO (SettingsFactory.java:283) - Echoing all SQL to stdout
     INFO (SettingsFactory.java:290) - Statistics: disabled
     INFO (SettingsFactory.java:294) - Deleted entity synthetic identifier rollback: disabled
     INFO (SettingsFactory.java:309) - Default entity-mode: pojo
     INFO (SettingsFactory.java:313) - Named query checking : enabled
     INFO (SessionFactoryImpl.java:161) - building session factory
     INFO (SessionFactoryObjectFactory.java:82) - Not binding factory to JNDI, no JNDI name configured
     INFO (SchemaUpdate.java:115) - Running hbm2ddl schema update
     INFO (SchemaUpdate.java:126) - fetching database metadata
     INFO (SchemaUpdate.java:138) - updating schema
     INFO (TableMetadata.java:39) - table found: mysport.product
     INFO (TableMetadata.java:40) - columns: [id, name]
     INFO (TableMetadata.java:42) - foreign keys: []
     INFO (TableMetadata.java:43) - indexes: [primary]
     INFO (SchemaUpdate.java:160) - schema update complete
    Hibernate: insert into product (name) values (?)
      

  2.   

    至于你在Spring中配置Hibernate,然后事物不能回滚,是你的切点表达式有问题吧?我在书上也没见你这种写法,execution(* *.save*(..)),你改成这样试试:execution(* hibernate.test.*(..)),
    至于你通过路径引用Hibernate配置无法插入记录,这个问题就不清楚了
      

  3.   

    晕,你的切点表达式绝对是错的,里面竟然还有save,这不是方法名吗!切点表达式描述的是为哪些包的哪些类应用事物...
      

  4.   

    再谢下yihaijian1 
    前个帖子也是偶发的