错误提示;current autocommit status: false,
代码public class example {
    public void addUser(S s) throws HibernateException {
       //获得Hibernate session
       Session session = HibernateSessionFactory.getSession();
       Transaction tx =session.beginTransaction();
       //将s对象内容保存到数据库
       session.save(s);
       session.flush();
       tx.commit();
       //关闭Hibernate session
      // HibernateSessionFactory.closeSession();
       //session.close();
    }
   
    public static void main(String[] msg) {
       example example = new example();
       S s = new S();
       s.setSno(57);
       s.setSname("1234");
       try {
        example.addUser(s);
       } catch (HibernateException e) {}
      
    }
}

解决方案 »

  1.   

    你把   session.flush(); 去掉试试
      

  2.   

    不行的去了也不行,
    错误信息:
    DEBUG - begin
    DEBUG - opening JDBC connection
    DEBUG - current autocommit status: false
      

  3.   

    你的代码顺序有错误   你应该先commit  再flush。试试吧。
      

  4.   

    DEBUG - current autocommit status: false
    这个不是错误信息吧,你确定数据没插进去?
      

  5.   

    下面是执行后的全部信息
    INFO - Hibernate 3.3.2.GA
     INFO - hibernate.properties not found
     INFO - Bytecode provider name : javassist
     INFO - using JDK 1.4 java.sql.Timestamp handling
     INFO - configuring from resource: /hibernate.cfg.xml
     INFO - Configuration resource: /hibernate.cfg.xml
    DEBUG - trying to resolve system-id [http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd]
    DEBUG - recognized hibernate namespace; attempting to resolve on classpath under org/hibernate/
    DEBUG - located [http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd] in classpath
    DEBUG - dialect=org.hibernate.dialect.MySQLDialect
    DEBUG - connection.url=jdbc:mysql://localhost:3306/test
    DEBUG - connection.username=root
    DEBUG - connection.password=wsmysql
    DEBUG - connection.driver_class=com.mysql.jdbc.Driver
    DEBUG - myeclipse.connection.profile=MySQL
    DEBUG - show_sql=true
    DEBUG - hibernate.hbm2ddl.auto=update
     INFO - Configured SessionFactory: null
    DEBUG - properties: {hibernate.connection.password=wsmysql, java.runtime.name=Java(TM) SE Runtime Environment, sun.boot.library.path=C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\bin, java.vm.version=11.3-b02, hibernate.connection.username=root, java.vm.vendor=Sun Microsystems Inc., java.vendor.url=http://java.sun.com/, path.separator=;, java.vm.name=Java HotSpot(TM) Client VM, file.encoding.pkg=sun.io, user.country=CN, sun.java.launcher=SUN_STANDARD, sun.os.patch.level=Service Pack 3, java.vm.specification.name=Java Virtual Machine Specification, user.dir=E:\hibernate\HibernateDemo, java.runtime.version=1.6.0_13-b03, java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment, java.endorsed.dirs=C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\endorsed, os.arch=x86, java.io.tmpdir=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\, line.separator=
    , java.vm.specification.vendor=Sun Microsystems Inc., user.variant=, os.name=Windows XP, sun.jnu.encoding=GBK, java.library.path=C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Program Files/Genuitec/Common/binary/com.sun.java.jdk.win32.x86_1.6.0.013/jre/bin/client;C:/Program Files/Genuitec/Common/binary/com.sun.java.jdk.win32.x86_1.6.0.013/jre/bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\MySQL\MySQL Server 5.5\bin;C:\Program Files\Common Files\Thunder Network\KanKan\Codecs;C:\Program Files\Java\jdk1.6.0_26\bin;C:\Program Files\Java\jdk1.6.0_26\jre\bin;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;E:ant\bin;C:\Program Files\Rational\common;E:\MASM611\BIN;C:\Program Files\Microsoft Visual Studio\Common\Tools\WinNT;C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin;C:\Program Files\Microsoft Visual Studio\Common\Tools;C:\Program Files\Microsoft Visual Studio\VC98\bin;E:\MASM611\BIN;, hibernate.myeclipse.connection.profile=MySQL, java.specification.name=Java Platform API Specification, java.class.version=50.0, sun.management.compiler=HotSpot Client Compiler, os.version=5.1, connection.password=wsmysql, user.home=C:\Documents and Settings\Administrator, user.timezone=, connection.username=root, java.awt.printerjob=sun.awt.windows.WPrinterJob, file.encoding=GBK, java.specification.version=1.6, myeclipse.connection.profile=MySQL, hibernate.connection.driver_class=com.mysql.jdbc.Driver, show_sql=true, user.name=Administrator, java.class.path=D:\My Documents\Downloads\c3p0-0.9.1.jar;E:\hibernate\HibernateDemo\bin;D:\My Documents\Downloads\mysql-connector-java-5.1.7-bin.jar;F:\Program Files\Genuitec\MyEclipse-8.6\configuration\org.eclipse.osgi\bundles\89\1\.cp\myeclipse-data\3.3\lib\entitymanager\hibernate-annotations.jar;F:\Program Files\Genuitec\MyEclipse-8.6\configuration\org.eclipse.osgi\bundles\89\1\.cp\myeclipse-data\3.3\lib\entitymanager\hibernate-commons-annotations.jar;F:\Program Files\Genuitec\MyEclipse-8.6\configuration\org.eclipse.osgi\bundles\89\1\.cp\myeclipse-data\3.3\lib\entitymanager\hibernate-entitymanager.jar;F:\Program Files\Genuitec\MyEclipse-8.6\configuration\org.eclipse.osgi\bundles\89\1\.cp\myeclipse-data\3.3\lib\hibernate-validator.jar;F:\Program Files\Genuitec\MyEclipse-8.6\configuration\org.eclipse.osgi\bundles\89\1\.cp\myeclipse-data\3.3\lib\entitymanager\ejb3-persistence.jar;F:\Program Files\Genuitec\MyEclipse-8.6\configuration\org.eclipse.osgi\bundles\89\1\.cp\myeclipse-data\3.3\lib\bytecode\cglib\cglib-2.2.jar;F:\Program Files\Genuitec\MyEclipse-8.6\configuration\org.eclipse.osgi\bundles\89\1\.cp\myeclipse-data\3.3\lib\bytecode\javassist\javassist-3.9.0.GA.jar;F:\Program Files\Genuitec\MyEclipse-8.6\configuration\org.eclipse.osgi\bundles\89\1\.cp\myeclipse-data\3.2\lib\antlr-2.7.6.jar;F:\Program Files\Genuitec\MyEclipse-8.6\configuration\org.eclipse.osgi\bundles\89\1\.cp\myeclipse-data\3.3\lib\required\commons-collections-3.1.jar;F:\Program Files\Genuitec\MyEclipse-8.6\configuration\org.eclipse.osgi\bundles\89\1\.cp\myeclipse-data\3.3\lib\hibernate3.jar;F:\Program Files\Genuitec\MyEclipse-8.6\configuration\org.eclipse.osgi\bundles\89\1\.cp\myeclipse-data\3.3\lib\required\jta-1.1.jar;F:\Program Files\Genuitec\MyEclipse-8.6\configuration\org.eclipse.osgi\bundles\89\1\.cp\myeclipse-data\3.2\lib\ehcache-1.2.3.jar;F:\Program Files\Genuitec\MyEclipse-8.6\configuration\org.eclipse.osgi\bundles\89\1\.cp\myeclipse-data\3.3\lib\required\slf4j-api-1.5.8.jar;F:\Program Files\Genuitec\MyEclipse-8.6\configuration\org.eclipse.osgi\bundles\89\1\.cp\myeclipse-data\3.3\lib\required\slf4j-log4j12-1.5.8.jar;F:\Program Files\Genuitec\MyEclipse-8.6\configuration\org.eclipse.osgi\bundles\89\1\.cp\myeclipse-data\3.3\lib\required\log4j-1.2.14.jar;F:\Program Files\Genuitec\MyEclipse-8.6\configuration\org.eclipse.osgi\bundles\89\1\.cp\myeclipse-data\3.1\lib\dom4j-1.6.1.jar;E:\hibernate\HibernateDemo\lib\mysql-connector-java-5.1.7-bin.jar;D:\My Documents\Downloads\commons-logging.jar, hibernate.bytecode.use_reflection_optimizer=false, hibernate.show_sql=true, java.vm.specification.version=1.0, java.home=C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre, sun.arch.data.model=32, hibernate.connection.url=jdbc:mysql://localhost:3306/test, hibernate.dialect=org.hibernate.dialect.MySQLDialect, user.language=zh, java.specification.vendor=Sun Microsystems Inc., awt.toolkit=sun.awt.windows.WToolkit, java.vm.info=mixed mode, java.version=1.6.0_13, java.ext.dirs=C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\ext;C:\WINDOWS\Sun\Java\lib\ext, sun.boot.class.path=C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\resources.jar;C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\rt.jar;C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\sunrsasign.jar;C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\jsse.jar;C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\jce.jar;C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib\charsets.jar;C:\Program Files\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\classes, java.vendor=Sun Microsystems Inc., connection.driver_class=com.mysql.jdbc.Driver, file.separator=\, hibernate.hbm2ddl.auto=update, java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport.cgi, sun.io.unicode.encoding=UnicodeLittle, sun.cpu.endian=little, sun.desktop=windows, connection.url=jdbc:mysql://localhost:3306/test, dialect=org.hibernate.dialect.MySQLDialect, sun.cpu.isalist=pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86}
      

  6.   

    DEBUG - Preparing to build session factory with filters : {}
    DEBUG - processing extends queue
    DEBUG - processing collection mappings
    DEBUG - processing native query and ResultSetMapping mappings
    DEBUG - processing association property references
    DEBUG - processing foreign key constraints
     INFO - Using Hibernate built-in connection pool (not for production use!)
     INFO - Hibernate connection pool size: 20
     INFO - autocommit mode: false
     INFO - using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost:3306/test
     INFO - connection properties: {user=root, password=wsmysql}
    DEBUG - opening new JDBC connection
    DEBUG - created connection to: jdbc:mysql://localhost:3306/test, Isolation Level: 4
     INFO - RDBMS: MySQL, version: 5.5.13
     INFO - JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-5.1.7 ( Revision: ${svn.Revision} )
     INFO - Using dialect: org.hibernate.dialect.MySQLDialect
     INFO - Using default transaction strategy (direct JDBC transactions)
     INFO - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
     INFO - Automatic flush during beforeCompletion(): disabled
     INFO - Automatic session close at end of transaction: disabled
     INFO - JDBC batch size: 15
     INFO - JDBC batch updates for versioned data: disabled
     INFO - Scrollable result sets: enabled
    DEBUG - Wrap result sets: disabled
     INFO - JDBC3 getGeneratedKeys(): enabled
     INFO - Connection release mode: auto
     INFO - Maximum outer join fetch depth: 2
     INFO - Default batch fetch size: 1
     INFO - Generate SQL with comments: disabled
     INFO - Order SQL updates by primary key: disabled
     INFO - Order SQL inserts for batching: disabled
     INFO - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
     INFO - Using ASTQueryTranslatorFactory
     INFO - Query language substitutions: {}
     INFO - JPA-QL strict compliance: disabled
     INFO - Second-level cache: enabled
     INFO - Query cache: disabled
     INFO - Cache region factory : org.hibernate.cache.impl.NoCachingRegionFactory
     INFO - Optimize cache for minimal puts: disabled
     INFO - Structured second-level cache entries: disabled
     INFO - Echoing all SQL to stdout
     INFO - Statistics: disabled
     INFO - Deleted entity synthetic identifier rollback: disabled
     INFO - Default entity-mode: pojo
     INFO - Named query checking : enabled
     INFO - building session factory
    DEBUG - Session factory constructed with filter configurations : {}
    DEBUG - instantiating session factory with properties: {java.runtime.name=Java(TM) SE Runtime 
    DEBUG - initializing class SessionFactoryObjectFactory
    DEBUG - registered: 402881e835c27d8b0135c27d8bc10000 (unnamed)
     INFO - Not binding factory to JNDI, no JNDI name configured
    DEBUG - instantiated session factory
     INFO - Running hbm2ddl schema update
     INFO - fetching database metadata
     INFO - updating schema
    DEBUG - processing extends queue
    DEBUG - processing collection mappings
    DEBUG - processing native query and ResultSetMapping mappings
    DEBUG - processing association property references
    DEBUG - processing foreign key constraints
    INFO - schema update complete
    DEBUG - Checking 0 named HQL queries
    DEBUG - Checking 0 named SQL queries
    DEBUG - opened session at timestamp: 13304079021
    DEBUG - begin
    DEBUG - opening JDBC connection
    DEBUG - current autocommit status: false
      

  7.   

    兄台啊,找到异常了
    org.hibernate.MappingException: Unknown entity: model.S
    at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:628)
    at org.hibernate.impl.SessionImpl.getEntityPersister(SessionImpl.java:1366)
    at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:121)
    at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
    at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:56)
    at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
    at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:50)
    at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
    at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:563)
    at org.hibernate.impl.SessionImpl.save(SessionImpl.java:551)
    at org.hibernate.impl.SessionImpl.save(SessionImpl.java:547)
    at action.example.addUser(example.java:19)
    at action.example.main(example.java:35)
      

  8.   

    DEBUG 和INFO 不是异常,不用细看.
      

  9.   

    应该是没有映射,可是我.cfg跟.hbm文件都是写的了