Trouble connection to database with hibernate
siran Oct 18, 2007 6:01 PMI created an hibernate.cfg.xml file with the hibernate tools.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="hibernate.connection.driver_jar">mysql-connector-java-5.0.6-bin.jar</property> <property name="hibernate.connection.driver_class">org.gjt.mm.mysql.Driver</property> <property name="hibernate.connection.password"> </property> <property name="hibernate.connection.url">jdbc:mysql://localhost/eshop</property> <property name="hibernate.connection.username">user</property> <property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property> </session-factory> </hibernate-configuration>
Reverse Engineering was no problem, it found the database, could read the tables and create the java classes.
Now I tried to open a simple connection to the database and that doesn*t work. I always get a "no suitable driver found" error.
Configuration config = new Configuration() .setProperty("hibernate.dialect", "org.hibernate.dialect.MySQLInnoDBDialect") .setProperty("hibernate.connection.driver_class", "org.gjt.mm.mysql.Driver") .setProperty("hibernate.connection.driver_jar", "mysql-connector-java-5.0.6-bin.jar") .setProperty("hibernate.connection.password", " ") .setProperty("hibernate.connection.url", "jdbc:mysql://localhost:3306/eshop") .setProperty("hibernate.connection.username", "user") .addClass(Adressen.class); config.configure(); SessionFactory sessionFactory = config.buildSessionFactory(); Session session = sessionFactory.openSession(); Transaction tx = null; try { tx = session.beginTransaction(); System.out.println("works"); } catch (Exception e) { if (tx != null) { tx.rollback(); System.out.println("error - rollback"); } } finally { session.close(); } sessionFactory.close();
The errors I'm getting are:
23:41:05,187 INFO [Environment] Hibernate 3.2.4.sp1 23:41:05,187 INFO [Environment] loaded properties from resource hibernate.properties: {hibernate.connection.username=user, hibernate.connection.password=****, hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect, hibernate.connection.url=jdbc:mysql://localhost:3306/eshop, hibernate.bytecode.use_reflection_optimizer=false, hibernate.connection.driver_class=com.mysql.jdbc.Driver} 23:41:05,187 INFO [Environment] Bytecode provider name : javassist 23:41:05,203 INFO [Environment] using JDK 1.4 java.sql.Timestamp handling 23:41:05,312 INFO [Configuration] Reading mappings from resource: hibernateGenerated/Adressen.hbm.xml 23:41:05,312 INFO [Configuration] Reading mappings from resource: hibernateGenerated/Adressen.hbm.xml 23:41:05,515 INFO [HbmBinder] Mapping class: hibernateGenerated.Adressen -> Adressen 23:41:05,531 INFO [Configuration] configuring from resource: /hibernate.cfg.xml 23:41:05,531 INFO [Configuration] Configuration resource: /hibernate.cfg.xml 23:41:05,546 INFO [Configuration] Configured SessionFactory: null 23:41:05,656 INFO [DriverManagerConnectionProvider] Using Hibernate built-in connection pool (not for production use!) 23:41:05,656 INFO [DriverManagerConnectionProvider] Hibernate connection pool size: 20 23:41:05,656 INFO [DriverManagerConnectionProvider] autocommit mode: false 23:41:05,656 INFO [DriverManagerConnectionProvider] using driver: org.gjt.mm.mysql.Driver at URL: jdbc:mysql://localhost/eshop 23:41:05,656 INFO [DriverManagerConnectionProvider] connection properties: {driver_jar=mysql-connector-java-5.0.6-bin.jar, user=user, password= } 23:41:05,656 WARN [SettingsFactory] Could not obtain connection metadata java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost/eshop at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:110) at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:84) at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1292) at sample.RegisterAciton.writeInDatabase(RegisterAciton.java:147) at sample.RegisterAciton.execute(RegisterAciton.java:246) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525) at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Unknown Source) 23:41:06,046 INFO [Dialect] Using dialect: org.hibernate.dialect.MySQLInnoDBDialect 23:41:06,046 INFO [TransactionFactoryFactory] Using default transaction strategy (direct JDBC transactions) 23:41:06,046 INFO [TransactionManagerLookupFactory] No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended) 23:41:06,046 INFO [SettingsFactory] Automatic flush during beforeCompletion(): disabled 23:41:06,046 INFO [SettingsFactory] Automatic session close at end of transaction: disabled 23:41:06,046 INFO [SettingsFactory] Scrollable result sets: disabled 23:41:06,062 INFO [SettingsFactory] JDBC3 getGeneratedKeys(): disabled 23:41:06,062 INFO [SettingsFactory] Connection release mode: auto 23:41:06,062 INFO [SettingsFactory] Maximum outer join fetch depth: 2 23:41:06,062 INFO [SettingsFactory] Default batch fetch size: 1 23:41:06,062 INFO [SettingsFactory] Generate SQL with comments: disabled 23:41:06,062 INFO [SettingsFactory] Order SQL updates by primary key: disabled 23:41:06,062 INFO [SettingsFactory] Order SQL inserts for batching: disabled 23:41:06,062 INFO [SettingsFactory] Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory 23:41:06,062 INFO [ASTQueryTranslatorFactory] Using ASTQueryTranslatorFactory 23:41:06,062 INFO [SettingsFactory] Query language substitutions: {} 23:41:06,062 INFO [SettingsFactory] JPA-QL strict compliance: disabled 23:41:06,062 INFO [SettingsFactory] Second-level cache: enabled 23:41:06,062 INFO [SettingsFactory] Query cache: disabled 23:41:06,062 INFO [SettingsFactory] Cache provider: org.hibernate.cache.NoCacheProvider 23:41:06,062 INFO [SettingsFactory] Optimize cache for minimal puts: disabled 23:41:06,062 INFO [SettingsFactory] Structured second-level cache entries: disabled 23:41:06,078 INFO [SettingsFactory] Statistics: disabled 23:41:06,078 INFO [SettingsFactory] Deleted entity synthetic identifier rollback: disabled 23:41:06,078 INFO [SettingsFactory] Default entity-mode: pojo 23:41:06,078 INFO [SettingsFactory] Named query checking : enabled 23:41:06,125 INFO [SessionFactoryImpl] building session factory 23:41:06,437 INFO [SessionFactoryObjectFactory] Not binding factory to JNDI, no JNDI name configured 23:41:06,515 WARN [JDBCExceptionReporter] SQL Error: 0, SQLState: 08001 23:41:06,515 ERROR [JDBCExceptionReporter] No suitable driver found for jdbc:mysql://localhost/eshop 23:41:06,515 INFO [SessionFactoryImpl] closing 23:41:06,515 INFO [DriverManagerConnectionProvider] cleaning up connection pool: jdbc:mysql://localhost/eshop
Can anybody tell me, what I'm doing wrong?