I am eclipse IDE.. I have configured hibernate properly but still i am getting this error.
Directory Structure:
HibernateProject-Java Resources-Src
-com.project -Employeee.java -Testjdbc.java(contains main function) -hibernate.cfg.xml
Employee.java
package com.package; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name="employeee") public class Employeee { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) @Column(name="Empcode") private int Empcode; @Column(name="EmpName") private String EmpName; @Column(name="EmpDesignation") private String EmpDesignation; @Column(name="EmpDOB") private Date EmpDOB; @Column(name="EmpJOD") private Date EmpJOD; @Column(name="EmpAge") private int EmpAge; @Column(name="EmpBasic_Pay") private double EmpBasic_Pay; public int getEmpcode() { return Empcode; } public void setEmpcode(int empcode) { Empcode = empcode; } public String getEmpName() { return EmpName; } public void setEmpName(String empName) { EmpName = empName; } public String getEmpDesignation() { return EmpDesignation; } public void setEmpDesignation(String empDesignation) { EmpDesignation = empDesignation; } public Date getEmpDOB() { return EmpDOB; } public void setEmpDOB(Date empDOB) { EmpDOB = empDOB; } public Date getEmpJOD() { return EmpJOD; } public void setEmpJOD(Date empJOD) { EmpJOD = empJOD; } public int getEmpAge() { return EmpAge; } public void setEmpAge(int empAge) { EmpAge = empAge; } public double getEmpBasic_Pay() { return EmpBasic_Pay; } public void setEmpBasic_Pay(double empBasic_Pay) { EmpBasic_Pay = empBasic_Pay; } public Employeee() { } public Employeee(int empcode, String empName, String empDesignation, java.util.Date sdate, java.util.Date edate, int empAge, double empBasic_Pay) { super(); Empcode = empcode; EmpName = empName; EmpDesignation = empDesignation; EmpDOB = sdate; EmpJOD = edate; EmpAge = empAge; EmpBasic_Pay = empBasic_Pay; } @Override public String toString() { return "Student [Empcode=" + Empcode + ", EmpName=" + EmpName + ", EmpDesignation=" + EmpDesignation + ", EmpDOB=" + EmpDOB + ", EmpJOD=" + EmpJOD + ", EmpAge=" + EmpAge + ", EmpBasic_Pay=" + EmpBasic_Pay + "]"; } } Testjdbc.java
package com.package; import java.text.ParseException; import java.text.SimpleDateFormat; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; import com.wipro.Employeee; public class TestJDBC { public static void main(String[] args) { // create session factory SessionFactory factory = new Configuration() .configure("hibernate.cfg.xml") .addAnnotatedClass(Employeee.class) .buildSessionFactory(); // create session Session session = factory.getCurrentSession(); try { // create a student object System.out.println("Creating new student object..."); SimpleDateFormat sdf=new SimpleDateFormat("yyyy/MM/dd"); java.util.Date sdate=sdf.parse("2018/07/22"); java.util.Date edate=sdf.parse("2019/07/22"); //empcode empName empDesignation empDOB empJOD empAge empBasic_Pay; Employeee emp=new Employeee(101,"ABC","Engineer",sdate,edate,25,250000.00); // start a transaction session.beginTransaction(); // save the student object System.out.println("Saving the student..."); session.save(emp); // commit transaction session.getTransaction().commit(); System.out.println("Done!"); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { factory.close(); } } } hibernate.cfg.xml
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <!-- JDBC Database connection settings --> <property name="connection.driver_class">com.mysql.cj.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://localhost:3306/jdbcassignment?useSSL=false&serverTimezone=UTC</property> <property name="connection.username">root</property> <property name="connection.password">tiger</property> <!-- JDBC connection pool settings ... using built-in test pool --> <property name="connection.pool_size">1</property> <!-- Select our SQL dialect --> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <!-- Echo the SQL to stdout --> <property name="show_sql">true</property> <!-- Set the current session context --> <property name="current_session_context_class">thread</property> </session-factory> </hibernate-configuration> Error:
Aug 25, 2018 6:13:07 PM org.hibernate.Version logVersion INFO: HHH000412: Hibernate Core {5.3.1.Final} Aug 25, 2018 6:13:07 PM org.hibernate.cfg.Environment <clinit> INFO: HHH000206: hibernate.properties not found Aug 25, 2018 6:13:07 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager <clinit> INFO: HCANN000001: Hibernate Commons Annotations {5.0.3.Final} Aug 25, 2018 6:13:07 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure WARN: HHH10001002: Using Hibernate built-in connection pool (not for production use!) Aug 25, 2018 6:13:07 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator INFO: HHH10001005: using driver [com.mysql.cj.jdbc.Driver] at URL [jdbc:mysql://localhost:3306/jdbcassignment?useSSL=false&serverTimezone=UTC] Aug 25, 2018 6:13:07 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator INFO: HHH10001001: Connection properties: {user=root, password=****} Aug 25, 2018 6:13:07 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator INFO: HHH10001003: Autocommit mode: false Aug 25, 2018 6:13:07 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PooledConnections <init> INFO: HHH000115: Hibernate connection pool size: 1 (min=1) Aug 25, 2018 6:13:07 PM org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator initiateService WARN: HHH000342: Could not obtain connection to query metadata : null Aug 25, 2018 6:13:07 PM org.hibernate.dialect.Dialect <init> INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQLDialect Aug 25, 2018 6:13:07 PM org.hibernate.engine.jdbc.env.internal.LobCreatorBuilderImpl makeLobCreatorBuilder INFO: HHH000422: Disabling contextual LOB creation as connection was null Aug 25, 2018 6:13:07 PM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions WARN: SQL Error: 0, SQLState: 08001 Aug 25, 2018 6:13:07 PM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions ERROR: Public Key Retrieval is not allowed Exception in thread "main" org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:275) at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:237) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214) at org.hibernate.id.factory.internal.DefaultIdentifierGeneratorFactory.injectServices(DefaultIdentifierGeneratorFactory.java:152) at org.hibernate.service.internal.AbstractServiceRegistryImpl.injectDependencies(AbstractServiceRegistryImpl.java:286) at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:243) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214) at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.<init>(InFlightMetadataCollectorImpl.java:179) at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:119) at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.build(MetadataBuildingProcess.java:84) at org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:474) at org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:85) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:689) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:724) at com.wipro.TestJDBC.main(TestJDBC.java:23) Caused by: org.hibernate.exception.JDBCConnectionException: Error calling Driver#connect at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:48) at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:111) at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.convertSqlException(BasicConnectionCreator.java:118) at org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.makeConnection(DriverConnectionCreator.java:41) at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.createConnection(BasicConnectionCreator.java:58) at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PooledConnections.addConnections(DriverManagerConnectionProviderImpl.java:363) at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PooledConnections.<init>(DriverManagerConnectionProviderImpl.java:282) at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PooledConnections.<init>(DriverManagerConnectionProviderImpl.java:260) at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl$PooledConnections$Builder.build(DriverManagerConnectionProviderImpl.java:401) at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.buildPool(DriverManagerConnectionProviderImpl.java:112) at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:75) at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:100) at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:246) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214) at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.buildJdbcConnectionAccess(JdbcEnvironmentInitiator.java:145) at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:66) at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35) at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:94) at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) ... 14 more Caused by: java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:832) at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:456) at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:240) at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:207) at org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.makeConnection(DriverConnectionCreator.java:38) ... 29 more Please see if you can help.