没有配置log4j,把log4j的jar加进构建路径
Hibernate解压后的目录下,有个etc目录,下面有个log4j.properties,把它拷到你的src(就是你放源代码的目录)下即可。

解决方案 »

  1.   

    当然,以后实际开发中,根据你的需要修改log4j.properties
      

  2.   

    SAXParseException
    可能配置文件格式有错误好好检查一下或者贴出来
      

  3.   

    啊哦,再次范了错误,检讨中。。呵呵,是楼上所有hibernate.cfg.xml配置有问题
      

  4.   

    log4j.properties的问题解决了,但是下面的还是不明白
    10:31:43,562  INFO Environment:479 - Hibernate 3.1.2
    10:31:43,578  INFO Environment:509 - hibernate.properties not found
    10:31:43,578  INFO Environment:525 - using CGLIB reflection optimizer
    10:31:43,593  INFO Environment:555 - using JDK 1.4 java.sql.Timestamp handling
    10:31:43,703  INFO Configuration:1308 - configuring from resource: /hibernate.cfg.xml
    10:31:43,718  INFO Configuration:1285 - Configuration resource: /hibernate.cfg.xml
    10:31:44,062 ERROR XMLHelper:61 - Error parsing XML: /hibernate.cfg.xml(2) Document is invalid: no grammar found.
    10:31:44,078 ERROR XMLHelper:61 - Error parsing XML: /hibernate.cfg.xml(2) Document root element "hibernate-configuration", must match DOCTYPE root "null".
    org.hibernate.MappingException: invalid configuration
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1369)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:1310)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:1296)
    at net.sc.hibernate.base._BaseRootDAO.initialize(_BaseRootDAO.java:52)
    at net.sc.hibernate.base._BaseRootDAO.initialize(_BaseRootDAO.java:41)
    at net.sc.hibernate.base._BaseRootDAO.initialize(_BaseRootDAO.java:32)
    at net.sc.hibernate.dao.SysuserDAO.main(SysuserDAO.java:14)
    Caused by: org.xml.sax.SAXParseException: Document is invalid: no grammar found.
    at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
    at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)
    at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
    at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
    at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
    at org.apache.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
    at org.dom4j.io.SAXReader.read(SAXReader.java:465)
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1366)
    ... 6 more附上hibernate.cfg.xml的内容,请大家帮我分析一下,在线等回复<hibernate-configuration>
    <session-factory>
    <!-- local connection properties -->
    <property name="hibernate.connection.url">
    jdbc:mysql://localhost:3306/stockcenter
    </property>
    <property name="hibernate.connection.driver_class">
    com.mysql.jdbc.Driver
    </property>
    <property name="hibernate.connection.username">root</property>
    <property name="hibernate.connection.password">chii</property>
    <!-- property name="hibernate.connection.pool_size"></property -->
    <!-- dialect for MySQL -->
    <property name="dialect">
    org.hibernate.dialect.MySQLDialect
    </property>
    <property name="hibernate.show_sql">false</property>
    <property name="hibernate.transaction.factory_class">
    org.hibernate.transaction.JDBCTransactionFactory
    </property>
    <mapping resource="net/sc/hibernate/Sysuser.hbm.xml" />
    <mapping resource="net/sc/hibernate/Employee.hbm.xml" />
    </session-factory>
    </hibernate-configuration>
      

  5.   

    <!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
    在你的配置文件前面加上上面这段声明
      

  6.   

    谢谢interpb
    但是
    11:51:05,500  INFO Environment:479 - Hibernate 3.1.2
    11:51:05,625  INFO Environment:494 - loaded properties from resource hibernate.properties: {hibernate.connection.driver_class=com.mysql.jdbc.Driver, hibernate.cglib.use_reflection_optimizer=true, hibernate.cache.provider_class=org.hibernate.cache.HashtableCacheProvider, hibernate.max_fetch_depth=1, hibernate.dialect=org.hibernate.dialect.MySQLMyISAMDialect, hibernate.jdbc.use_streams_for_binary=true, hibernate.format_sql=true, hibernate.query.substitutions=yes 'Y', no 'N', hibernate.proxool.pool_alias=pool1, hibernate.connection.username=root, hibernate.cache.region_prefix=hibernate.test, hibernate.connection.url=jdbc:mysql://localhost:3306/stockcenter, hibernate.connection.password=****, hibernate.jdbc.batch_versioned_data=true, hibernate.connection.pool_size=1}
    11:51:05,640  INFO Environment:524 - using java.io streams to persist binary types
    11:51:05,640  INFO Environment:525 - using CGLIB reflection optimizer
    11:51:05,640  INFO Environment:555 - using JDK 1.4 java.sql.Timestamp handling
    11:51:05,937  INFO Configuration:1308 - configuring from resource: /hibernate.cfg.xml
    11:51:05,953  INFO Configuration:1285 - Configuration resource: /hibernate.cfg.xml
    11:51:06,656  INFO Configuration:469 - Reading mappings from resource: net/sc/hibernate/Sysuser.hbm.xml
    11:51:06,984  INFO HbmBinder:309 - Mapping class: net.sc.hibernate.Sysuser -> sysuser
    11:51:07,062  INFO Configuration:469 - Reading mappings from resource: net/sc/hibernate/Employee.hbm.xml
    11:51:07,140  INFO HbmBinder:309 - Mapping class: net.sc.hibernate.Employee -> employee
    11:51:07,140  INFO Configuration:1419 - Configured SessionFactory: null
    11:51:07,750  INFO DriverManagerConnectionProvider:41 - Using Hibernate built-in connection pool (not for production use!)
    11:51:07,750  INFO DriverManagerConnectionProvider:42 - Hibernate connection pool size: 1
    11:51:07,765  INFO DriverManagerConnectionProvider:45 - autocommit mode: false
    11:51:07,796  INFO DriverManagerConnectionProvider:80 - using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost:3306/stockcenter
    11:51:07,796  INFO DriverManagerConnectionProvider:86 - connection properties: {user=root, password=****}
    11:51:09,843  INFO SettingsFactory:77 - RDBMS: MySQL, version: 5.0.19-nt
    11:51:09,843  INFO SettingsFactory:78 - JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-5.0.0-beta ( $Date: 2005-11-17 16:14:47 +0100 (Thu, 17 Nov 2005) $, $Revision$ )
    11:51:09,984  INFO Dialect:103 - Using dialect: org.hibernate.dialect.MySQLDialect
    11:51:10,015  INFO TransactionFactoryFactory:31 - Using default transaction strategy (direct JDBC transactions)
    11:51:10,078  INFO TransactionManagerLookupFactory:33 - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
    11:51:10,078  INFO SettingsFactory:125 - Automatic flush during beforeCompletion(): disabled
    11:51:10,078  INFO SettingsFactory:129 - Automatic session close at end of transaction: disabled
    11:51:10,078  INFO SettingsFactory:136 - JDBC batch size: 15
    11:51:10,078  INFO SettingsFactory:139 - JDBC batch updates for versioned data: enabled
    11:51:10,093  INFO SettingsFactory:144 - Scrollable result sets: enabled
    11:51:10,093  INFO SettingsFactory:152 - JDBC3 getGeneratedKeys(): enabled
    11:51:10,093  INFO SettingsFactory:160 - Connection release mode: auto
    11:51:10,093  INFO SettingsFactory:184 - Maximum outer join fetch depth: 1
    11:51:10,109  INFO SettingsFactory:187 - Default batch fetch size: 1
    11:51:10,109  INFO SettingsFactory:191 - Generate SQL with comments: disabled
    11:51:10,109  INFO SettingsFactory:195 - Order SQL updates by primary key: disabled
    11:51:10,109  INFO SettingsFactory:338 - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
    11:51:10,140  INFO ASTQueryTranslatorFactory:24 - Using ASTQueryTranslatorFactory
    11:51:10,140  INFO SettingsFactory:203 - Query language substitutions: {no='N', yes='Y'}
    11:51:10,140  INFO SettingsFactory:209 - Second-level cache: enabled
    11:51:10,140  INFO SettingsFactory:213 - Query cache: disabled
    11:51:10,140  INFO SettingsFactory:325 - Cache provider: org.hibernate.cache.HashtableCacheProvider
    11:51:10,156  INFO SettingsFactory:228 - Optimize cache for minimal puts: disabled
    11:51:10,156  INFO SettingsFactory:233 - Cache region prefix: hibernate.test
    11:51:10,156  INFO SettingsFactory:237 - Structured second-level cache entries: disabled
    11:51:10,187  INFO SettingsFactory:264 - Statistics: disabled
    11:51:10,187  INFO SettingsFactory:268 - Deleted entity synthetic identifier rollback: disabled
    11:51:10,203  INFO SettingsFactory:283 - Default entity-mode: pojo
    11:51:10,390  INFO SessionFactoryImpl:153 - building session factory
    org.hibernate.MappingException: could not instantiate id generator
    at org.hibernate.id.IdentifierGeneratorFactory.create(IdentifierGeneratorFactory.java:97)
    at org.hibernate.mapping.SimpleValue.createIdentifierGenerator(SimpleValue.java:152)
    at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:181)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1176)
    at net.sc.hibernate.base._BaseRootDAO.initialize(_BaseRootDAO.java:54)
    at net.sc.hibernate.base._BaseRootDAO.initialize(_BaseRootDAO.java:41)
    at net.sc.hibernate.base._BaseRootDAO.initialize(_BaseRootDAO.java:32)
    at net.sc.hibernate.dao.SysuserDAO.main(SysuserDAO.java:14)
    Caused by: java.lang.IllegalAccessException: Class org.hibernate.id.IdentifierGeneratorFactory can not access a member of class java.security.Identity with modifiers "protected"
    at sun.reflect.Reflection.ensureMemberAccess(Unknown Source)
    at java.lang.Class.newInstance0(Unknown Source)
    at java.lang.Class.newInstance(Unknown Source)
    at org.hibernate.id.IdentifierGeneratorFactory.create(IdentifierGeneratorFactory.java:92)
    ... 7 more
      

  7.   

    org.hibernate.MappingException: could not instantiate id generator
    你的id生成类不能实例化把你的映射文件以及POJO类全部贴出来看看吧
      

  8.   

    下面是Sysuser.hbm.xml
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" ><hibernate-mapping package="net.sc.hibernate">
    <class
    name="Sysuser"
    table="sysuser"
    >
    <id
    name="Id"
    type="integer"
    column="Id"
    >
    <generator class="java.security.Identity"/>
    </id> <property
    name="Name"
    column="Name"
    type="string"
    not-null="true"
    length="20"
    />
    <property
    name="Password"
    column="Password"
    type="string"
    not-null="true"
    length="40"
    />
    <property
    name="Popedom"
    column="Popedom"
    type="string"
    not-null="true"
    length="20"
    />
    </class>
    </hibernate-mapping>
    都是Hibernate Synchronizer自动生成的,应该不会有问题吧
      

  9.   

    <generator class="native"/>这样改改
      

  10.   

    呵呵,可以了,非常感谢interpb(曾曾胡,深怕情多累美人!!!) 
    我的问题解决了,结贴!
      

  11.   

    只是还有点不明白,为什么Identity不行呢?