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/eshopCan anybody tell me, what I'm doing wrong?