初学Hibernate时
一
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.MappingException: could not instantiate id generator [entity-name=org.vo.User]
at org.hibernate.id.IdentifierGeneratorFactory.create(IdentifierGeneratorFactory.java:109)
at org.hibernate.mapping.SimpleValue.createIdentifierGenerator(SimpleValue.java:152)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:197)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1313)
at org.test.HibernateTest.getCurrentSession(HibernateTest.java:54)
at org.test.HibernateTest.main(HibernateTest.java:25)
Caused by: org.hibernate.MappingException: could not interpret id generator strategy: username
at org.hibernate.id.IdentifierGeneratorFactory.getIdentifierGeneratorClass(IdentifierGeneratorFactory.java:128)
at org.hibernate.id.IdentifierGeneratorFactory.create(IdentifierGeneratorFactory.java:101)
... 5 more
这个错误出现在建立*hbm.xml 文件时, <generator class="identity"></generator> class设置的错误。(此处是正确的)
二
Exception in thread "main" org.hibernate.exception.JDBCConnectionException: Cannot open connection
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:74)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29)
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:426)
at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144)
at org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:119)
at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:57)
at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1327)
at org.test.HibernateTest.saveUser(HibernateTest.java:70)
at org.test.HibernateTest.main(HibernateTest.java:27)
Caused by: java.sql.SQLException: No suitable driver found for jdbc:microsoft:sqlserver://localHost:1433;databaseName=Test
at java.sql.DriverManager.getConnection(DriverManager.java:604)
at java.sql.DriverManager.getConnection(DriverManager.java:190)
at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:110)
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:423)
... 6 more
当调用 Configuration cfg= new Configuration().configure(); 时,Hibernate会自动在根目录下(即 classes 下)搜索Hibernate.cfg.xml 文件并将骑读取到内存中作为后续操作的基础配置。