log4j:ERROR Failed to excute sql
java.sql.SQLException: No suitable driver found for jdbc:oracle:thin:@90.0.12.20:1521:ORCL
at java.sql.DriverManager.getConnection(DriverManager.java:602)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at org.apache.log4j.jdbc.JDBCAppender.getConnection(JDBCAppender.java:212)
at org.apache.log4j.jdbc.JDBCAppender.execute(JDBCAppender.java:175)
at org.apache.log4j.jdbc.JDBCAppender.flushBuffer(JDBCAppender.java:250)
at org.apache.log4j.jdbc.JDBCAppender.append(JDBCAppender.java:146)
at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:251)
at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders  (AppenderAttachableImpl.java:66)
at org.apache.log4j.Category.callAppenders(Category.java:206)
at org.apache.log4j.Category.forcedLog(Category.java:391)
at org.apache.log4j.Category.log(Category.java:856)
at org.apache.commons.logging.impl.Log4JLogger.warn(Log4JLogger.java:157)
at net.sf.ehcache.config.Configurator.configure(Configurator.java:126)
at net.sf.ehcache.CacheManager.configure(CacheManager.java:166)
at net.sf.ehcache.CacheManager.<init>(CacheManager.java:138)
at net.sf.ehcache.CacheManager.create(CacheManager.java:193)
at org.hibernate.cache.EhCacheProvider.start(EhCacheProvider.java:130)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:173)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1176)
at com.cn.hibernate.HibernateSessionFactory.<clinit>(HibernateSessionFactory.java:31)
at com.cn.test.TestHibernate.main(TestHibernate.java:35)
log4j的部分配置:
log4j.appender.DATABASE.sql 
INSERT INTO T_LOG4J(stamp,thread,infolevel,class,messages) VALUES ('%d{yyyy-MM-dd HH:mm:ss}', '%t', '%p', '%l', '%m')

解决方案 »

  1.   

    异常写的很清楚啊,你oracle的JDBC驱动没有 找到,需要将oracle的JDBC驱动包 添加到classpath当中,如果是web项目,将其放到web-inf/lib目录下
      

  2.   

    对,跟Log4J没有关系,反倒是Log4J帮了忙找到问题。要么将oracle的jdbc包加载在项目lib中;要么将其加载在服务器的lib当中,一劳永逸。
      

  3.   

    java.sql.SQLException: No suitable driver found for jdbc:oracle:thin:@90.0.12.20:1521:ORCL
      

  4.   

    java.sql.SQLException: No suitable driver found for jdbc:oracle:thin:@90.0.12.20:1521:ORCL
    没找到驱动。
      

  5.   

    这个跟log4j没关系的,是数据库驱动的问题,没有找到驱动,你看错误提示的第二句话,就知道了
      

  6.   

    问题就是没有jdbc驱动。
    把jdbc的jar文件添加到classpath中,如果是web项目,将其放到WEB-INF/lib目录下#呵呵,第一次看到用log4j把log存数据里的。
      

  7.   


    可是我用的是MySQL数据库呀?
      

  8.   

    Exception in thread "main" org.hibernate.PersistentObjectException: detached entity passed to persist: com.cn.co.Users
    at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:79)
    at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:38)
    at org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:613)
    at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:587)
    at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:591)
    at com.cn.test.TestHibernate.main(TestHibernate.java:37)
    这是什么原因?
      

  9.   


    光从报错看,是你的这个User实体的对象已经存在,而不是全新生成的,所以不该用persist方法,而应该用saveOrUpdate方法。hibernate发现要被persist的这个对象的id已经存在于EntityManager中。
      

  10.   


    刚刚说的log4j报的错误已经跟你说了,没有驱动,这个问题是另外的问题了,如果你这样没完没了的问,没法伺候
      

  11.   

    可是我用的是MySQL数据库,我也按照您的说法把oracle驱动导进去了,可还是不行。没放log4j.properties之前是这样的
    log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
    log4j:WARN Please initialize the log4j system properly.
    Exception in thread "main" org.hibernate.PersistentObjectException: detached entity passed to persist: com.cn.co.Users
    at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:79)
    at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:38)
    放了log4j.properties之后是这样的[framework] 2012-08-22 14:59:54,365 - org.hibernate.connection.DriverManagerConnectionProvider -330  [main] INFO  org.hibernate.connection.DriverManagerConnectionProvider  - Hibernate connection pool size: 20
    [framework] 2012-08-22 14:59:54,365 - org.hibernate.connection.DriverManagerConnectionProvider -330  [main] INFO  org.hibernate.connection.DriverManagerConnectionProvider  - autocommit mode: false
    [framework] 2012-08-22 14:59:54,368 - org.hibernate.connection.DriverManagerConnectionProvider -333  [main] INFO  org.hibernate.connection.DriverManagerConnectionProvider  - using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost:3306/yonghu?characterEncoding=gb2312
    [framework] 2012-08-22 14:59:54,368 - org.hibernate.connection.DriverManagerConnectionProvider -333  [main] INFO  org.hibernate.connection.DriverManagerConnectionProvider  - connection properties: {user=root, password=685}
    [framework] 2012-08-22 14:59:54,565 - org.hibernate.cfg.SettingsFactory -530  [main] INFO  org.hibernate.cfg.SettingsFactory  - RDBMS: MySQL, version: 5.5.20
    [framework] 2012-08-22 14:59:54,565 - org.hibernate.cfg.SettingsFactory -530  [main] INFO  org.hibernate.cfg.SettingsFactory  - JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-5.0.8 ( Revision: ${svn.Revision} )
    [framework] 2012-08-22 14:59:54,578 - org.hibernate.dialect.Dialect -543  [main] INFO  org.hibernate.dialect.Dialect  - Using dialect: org.hibernate.dialect.MySQLDialect
    [framework] 2012-08-22 14:59:54,583 - org.hibernate.transaction.TransactionFactoryFactory -548  [main] INFO  org.hibernate.transaction.TransactionFactoryFactory  - Using default transaction strategy (direct JDBC transactions)
    [framework] 2012-08-22 14:59:54,583 - org.hibernate.transaction.TransactionManagerLookupFactory -548  [main] INFO  org.hibernate.transaction.TransactionManagerLookupFactory  - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
    [framework] 2012-08-22 14:59:54,585 - org.hibernate.cfg.SettingsFactory -550  [main] INFO  org.hibernate.cfg.SettingsFactory  - Automatic flush during beforeCompletion(): disabled
    [framework] 2012-08-22 14:59:54,585 - org.hibernate.cfg.SettingsFactory -550  [main] INFO  org.hibernate.cfg.SettingsFactory  - Automatic session close at end of transaction: disabled
    [framework] 2012-08-22 14:59:54,585 - org.hibernate.cfg.SettingsFactory -550  [main] INFO  org.hibernate.cfg.SettingsFactory  - JDBC batch size: 15
    [framework] 2012-08-22 14:59:54,585 - org.hibernate.cfg.SettingsFactory -550  [main] INFO  org.hibernate.cfg.SettingsFactory  - JDBC batch updates for versioned data: disabled
    [framework] 2012-08-22 14:59:54,585 - org.hibernate.cfg.SettingsFactory -550  [main] INFO  org.hibernate.cfg.SettingsFactory  - Scrollable result sets: enabled
    [framework] 2012-08-22 14:59:54,585 - org.hibernate.cfg.SettingsFactory -550  [main] INFO  org.hibernate.cfg.SettingsFactory  - JDBC3 getGeneratedKeys(): enabled
    [framework] 2012-08-22 14:59:54,588 - org.hibernate.cfg.SettingsFactory -553  [main] INFO  org.hibernate.cfg.SettingsFactory  - Connection release mode: auto
    [framework] 2012-08-22 14:59:54,588 - org.hibernate.cfg.SettingsFactory -553  [main] INFO  org.hibernate.cfg.SettingsFactory  - Maximum outer join fetch depth: 2
    [framework] 2012-08-22 14:59:54,588 - org.hibernate.cfg.SettingsFactory -553  [main] INFO  org.hibernate.cfg.SettingsFactory  - Default batch fetch size: 1
    [framework] 2012-08-22 14:59:54,588 - org.hibernate.cfg.SettingsFactory -553  [main] INFO  org.hibernate.cfg.SettingsFactory  - Generate SQL with comments: disabled
    [framework] 2012-08-22 14:59:54,588 - org.hibernate.cfg.SettingsFactory -553  [main] INFO  org.hibernate.cfg.SettingsFactory  - Order SQL updates by primary key: disabled
    [framework] 2012-08-22 14:59:54,588 - org.hibernate.cfg.SettingsFactory -553  [main] INFO  org.hibernate.cfg.SettingsFactory  - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
    [framework] 2012-08-22 14:59:54,590 - org.hibernate.hql.ast.ASTQueryTranslatorFactory -555  [main] INFO  org.hibernate.hql.ast.ASTQueryTranslatorFactory  - Using ASTQueryTranslatorFactory
    [framework] 2012-08-22 14:59:54,590 - org.hibernate.cfg.SettingsFactory -555  [main] INFO  org.hibernate.cfg.SettingsFactory  - Query language substitutions: {}
    [framework] 2012-08-22 14:59:54,590 - org.hibernate.cfg.SettingsFactory -555  [main] INFO  org.hibernate.cfg.SettingsFactory  - Second-level cache: enabled
    [framework] 2012-08-22 14:59:54,590 - org.hibernate.cfg.SettingsFactory -555  [main] INFO  org.hibernate.cfg.SettingsFactory  - Query cache: disabled
    [framework] 2012-08-22 14:59:54,590 - org.hibernate.cfg.SettingsFactory -555  [main] INFO  org.hibernate.cfg.SettingsFactory  - Cache provider: org.hibernate.cache.EhCacheProvider
    [framework] 2012-08-22 14:59:54,593 - org.hibernate.cfg.SettingsFactory -558  [main] INFO  org.hibernate.cfg.SettingsFactory  - Optimize cache for minimal puts: disabled
    [framework] 2012-08-22 14:59:54,593 - org.hibernate.cfg.SettingsFactory -558  [main] INFO  org.hibernate.cfg.SettingsFactory  - Structured second-level cache entries: disabled
    [framework] 2012-08-22 14:59:54,598 - org.hibernate.cfg.SettingsFactory -563  [main] INFO  org.hibernate.cfg.SettingsFactory  - Echoing all SQL to stdout
    [framework] 2012-08-22 14:59:54,598 - org.hibernate.cfg.SettingsFactory -563  [main] INFO  org.hibernate.cfg.SettingsFactory  - Statistics: disabled
    [framework] 2012-08-22 14:59:54,598 - org.hibernate.cfg.SettingsFactory -563  [main] INFO  org.hibernate.cfg.SettingsFactory  - Deleted entity synthetic identifier rollback: disabled
    [framework] 2012-08-22 14:59:54,598 - org.hibernate.cfg.SettingsFactory -563  [main] INFO  org.hibernate.cfg.SettingsFactory  - Default entity-mode: pojo
    [framework] 2012-08-22 14:59:54,623 - org.hibernate.impl.SessionFactoryImpl -588  [main] INFO  org.hibernate.impl.SessionFactoryImpl  - building session factory
    [framework] 2012-08-22 14:59:54,628 - net.sf.ehcache.config.Configurator -593  [main] WARN  net.sf.ehcache.config.Configurator  - No configuration found. Configuring ehcache from ehcache-failsafe.xml found in the classpath: jar:file:/D:/java/%e7%94%a8%e6%88%b7/MyEclipse%208.5/shujuku_di8zhang/WebRoot/WEB-INF/lib/ehcache-1.1.jar!/ehcache-failsafe.xml
    log4j:ERROR Failed to excute sql
    java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333)
    at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:404)
    at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:468)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314)
    at java.sql.DriverManager.getConnection(DriverManager.java:582)
    at java.sql.DriverManager.getConnection(DriverManager.java:185)
    at org.apache.log4j.jdbc.JDBCAppender.getConnection(JDBCAppender.java:212)
    at org.apache.log4j.jdbc.JDBCAppender.execute(JDBCAppender.java:175)
    at org.apache.log4j.jdbc.JDBCAppender.flushBuffer(JDBCAppender.java:250)
    at org.apache.log4j.jdbc.JDBCAppender.append(JDBCAppender.java:146)
    at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:251)
    at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:66)

    [framework] 2012-08-22 15:00:15,907 - org.hibernate.tool.hbm2ddl.SchemaUpdate -21872 [main] INFO  org.hibernate.tool.hbm2ddl.SchemaUpdate  - updating schema
    [framework] 2012-08-22 15:00:15,933 - org.hibernate.tool.hbm2ddl.TableMetadata -21898 [main] INFO  org.hibernate.tool.hbm2ddl.TableMetadata  - table found: yonghu.users
    [framework] 2012-08-22 15:00:15,933 - org.hibernate.tool.hbm2ddl.TableMetadata -21898 [main] INFO  org.hibernate.tool.hbm2ddl.TableMetadata  - columns: [id, address, tel, age, name]
    [framework] 2012-08-22 15:00:15,933 - org.hibernate.tool.hbm2ddl.TableMetadata -21898 [main] INFO  org.hibernate.tool.hbm2ddl.TableMetadata  - foreign keys: []
    [framework] 2012-08-22 15:00:15,933 - org.hibernate.tool.hbm2ddl.TableMetadata -21898 [main] INFO  org.hibernate.tool.hbm2ddl.TableMetadata  - indexes: [primary]
    [framework] 2012-08-22 15:00:15,933 - org.hibernate.tool.hbm2ddl.SchemaUpdate -21898 [main] INFO  org.hibernate.tool.hbm2ddl.SchemaUpdate  - schema update complete
    Exception in thread "main" org.hibernate.PersistentObjectException: detached entity passed to persist: com.cn.co.Users
    at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:79)
    at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:38)
    at org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:613)
    at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:587)
    at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:591)
    at com.cn.test.TestHibernate.main(TestHibernate.java:37)
      

  12.   

    我用的是MySQL数据库呀,但是我也把oracle驱动装了,还是不行。我没有装log4j.properties时,报错是这样的
    log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
    log4j:WARN Please initialize the log4j system properly.
    Exception in thread "main" org.hibernate.PersistentObjectException: detached entity passed to persist: com.cn.co.Users
    at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:79)
    at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:38)

    我装了log4j.properties时,报错是这样的[framework] 2012-08-22 15:10:22,934 - org.hibernate.cfg.SettingsFactory -580  [main] INFO  org.hibernate.cfg.SettingsFactory  - Default entity-mode: pojo
    [framework] 2012-08-22 15:10:22,957 - org.hibernate.impl.SessionFactoryImpl -603  [main] INFO  org.hibernate.impl.SessionFactoryImpl  - building session factorylog4j:ERROR Failed to excute sql
    java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)

    Exception in thread "main" org.hibernate.PersistentObjectException: detached entity passed to persist: com.cn.co.Users
    at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:79)
    at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:38)
    at org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:613)
      

  13.   

    你用MySQL数据库,加oracle驱动有什么用啊,当然是加mysql驱动了啊mysql-connector-java-5.1.6-bin.jar
      

  14.   


    我都加mysql驱动了。我觉得是不是log4j.properties是关于oracle数据库的?
      

  15.   

    把你的log4j的配置文件具体内容全部贴出来,里面有可能配置了oracle的数据源,有可能是你抄的别人的log4j的配置文件,保留了这个数据源
      

  16.   

    log4j.properties是详细打印日志的文件
      

  17.   


    有道理!怎么改?# level : 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。
    log4j.rootLogger=DEBUG,CONSOLE,DATABASE,A1
    log4j.addivity.org.apache=true# 应用于控制台
    log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
    # 本处设置为"INFO"以上级别在控制台输出(默认情况使用rootLogger中的设置)
    log4j.appender.CONSOLE.Threshold=INFO
    log4j.appender.CONSOLE.Target=System.out
    log4j.appender.CONSOLE.Encoding=GBK
    log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
    log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n# 用于数据库
    log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
    log4j.appender.DATABASE.URL=jdbc:oracle:thin:@90.0.12.20:1521:ORCL
    log4j.appender.DATABASE.driver=oracle.jdbc.driver.OracleDriver
    log4j.appender.DATABASE.user=Nation
    log4j.appender.DATABASE.password=1
    # 本处设置为"WARN"以上级别在数据库存储(默认情况使用rootLogger中的设置)
    log4j.appender.DATABASE.Threshold=WARN
    log4j.appender.DATABASE.sql=INSERT INTO T_LOG4J(stamp,thread,infolevel,class,messages) VALUES ('%d{yyyy-MM-dd HH:mm:ss}', '%t', '%p', '%l', '%m')
    # 写入数据库中的表LOG4J的Message字段中,内容%d(日期)%c: 日志信息所在地(类名)%p: 日志信息级别%m: 产生的日志具体信息 %n: 输出日志信息换行
    log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout
    log4j.appender.DATABASE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n# 每天新建日志
    log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.A1.File=C:/log4j/website.log
    log4j.appender.A1.Encoding=GBK
    log4j.appender.A1.Threshold=DEBUG
    log4j.appender.A1.DatePattern='.'yyyy-MM-dd
    log4j.appender.A1.layout=org.apache.log4j.PatternLayout
    log4j.appender.A1.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L : %m%n
      

  18.   

    猜的没错,涉及到oracle的log4j的配置你全部注解掉吧,配置文件写成# level : 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。
    log4j.rootLogger=DEBUG,CONSOLE,DATABASE,A1
    log4j.addivity.org.apache=true# 应用于控制台
    log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
    # 本处设置为"INFO"以上级别在控制台输出(默认情况使用rootLogger中的设置)
    log4j.appender.CONSOLE.Threshold=INFO
    log4j.appender.CONSOLE.Target=System.out
    log4j.appender.CONSOLE.Encoding=GBK
    log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
    log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n# 用于数据库
    #log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
    #log4j.appender.DATABASE.URL=jdbc:oracle:thin:@90.0.12.20:1521:ORCL
    #log4j.appender.DATABASE.driver=oracle.jdbc.driver.OracleDriver
    #log4j.appender.DATABASE.user=Nation
    #log4j.appender.DATABASE.password=1
    # 本处设置为"WARN"以上级别在数据库存储(默认情况使用rootLogger中的设置)
    log4j.appender.DATABASE.Threshold=WARN
    log4j.appender.DATABASE.sql=INSERT INTO T_LOG4J(stamp,thread,infolevel,class,messages) VALUES ('%d{yyyy-MM-dd HH:mm:ss}', '%t', '%p', '%l', '%m')
    # 写入数据库中的表LOG4J的Message字段中,内容%d(日期)%c: 日志信息所在地(类名)%p: 日志信息级别%m: 产生的日志具体信息 %n: 输出日志信息换行
    log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout
    log4j.appender.DATABASE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n# 每天新建日志
    log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.A1.File=C:/log4j/website.log
    log4j.appender.A1.Encoding=GBK
    log4j.appender.A1.Threshold=DEBUG
    log4j.appender.A1.DatePattern='.'yyyy-MM-dd
    log4j.appender.A1.layout=org.apache.log4j.PatternLayout
    log4j.appender.A1.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L : %m%n
      

  19.   


    log4j.rootLogger=DEBUG,CONSOLE,DATABASE,A1
    中的DATABASE去掉就可以了
      

  20.   


    log4j.rootLogger=DEBUG,CONSOLE,DATABASE,A1
    中的DATABASE去掉就可以了
    变成
    log4j.rootLogger=DEBUG,CONSOLE,A1
      

  21.   

    刚刚漏掉了,是得把log4j.rootLogger=DEBUG,CONSOLE,DATABASE,A1 当中的DATABASE去掉
      

  22.   

    刚才那个解决了,谢谢!这个是问什么呀?[framework] 2012-08-22 19:50:30,984 - org.hibernate.tool.hbm2ddl.TableMetadata -796  [main] INFO  org.hibernate.tool.hbm2ddl.TableMetadata  - indexes: [primary]
    [framework] 2012-08-22 19:50:30,984 - org.hibernate.tool.hbm2ddl.SchemaUpdate -796  [main] INFO  org.hibernate.tool.hbm2ddl.SchemaUpdate  - schema update complete
    Exception in thread "main" org.hibernate.PersistentObjectException: detached entity passed to persist: com.cn.co.Users
    at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:79)
    at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:38)
    at org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:613)
    at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:587)
    at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:591)
    at com.cn.test.TestHibernate.main(TestHibernate.java:37)