Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ERROR: Connection leak detected: there are 1 unclosed connections upon shutting down pool jdbc:mysql://localhost:3306/hb_student_records?useSSL=false&serverTimezone=UTC
- Exception in thread "main" org.hibernate.HibernateException: The internal connection pool has reached its maximum size and no connection is currently available!
- package com.rsharma.hibernate.demo;
- import org.hibernate.Session;
- import org.hibernate.SessionFactory;
- import org.hibernate.cfg.Configuration;
- import com.rsharma.hibernate.demo.entity.Student;
- public class CreateStudentDemo {
- public static void main(String[] args) {
- // create session factory
- SessionFactory factory = new Configuration()
- .configure("hibernate.cfg.xml")
- .addAnnotatedClass(Student.class)
- .buildSessionFactory();
- // create session
- Session session = factory.getCurrentSession();
- try {
- // create a student object
- System.out.println("Creating new student object...");
- Student tempStudent = new Student("Rishav", "Sharma", "paul@luv2code.com");
- // start a transaction
- session.beginTransaction();
- // save the student object
- System.out.println("Saving the student...");
- session.save(tempStudent);
- // commit transaction
- session.getTransaction().commit();
- System.out.println("Done!");
- }
- finally {
- factory.close();
- }
- }
- }
- package com.rsharma.hibernate.demo.entity;
- 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="student")
- public class Student {
- @Id
- @GeneratedValue(strategy=GenerationType.AUTO)
- @Column(name="id")
- private int id;
- @Column(name="first_name")
- private String firstName;
- @Column(name="last_name")
- private String lastName;
- @Column(name="email")
- private String email;
- public Student(){
- }
- public Student(String firstName, String lastName, String email) {
- this.firstName = firstName;
- this.lastName = lastName;
- this.email = email;
- }
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public String getFirstName() {
- return firstName;
- }
- public void setFirstName(String firstName) {
- this.firstName = firstName;
- }
- public String getLastName() {
- return lastName;
- }
- public void setLastName(String lastName) {
- this.lastName = lastName;
- }
- public String getEmail() {
- return email;
- }
- public void setEmail(String email) {
- this.email = email;
- }
- @Override
- public String toString() {
- return "Student [id=" + id + ", firstName=" + firstName + ", lastName=" + lastName + ", email=" + email + "]";
- }
- }
- <!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/hb_student_records?useSSL=false&serverTimezone=UTC</property>
- <property name="connection.username">hbstudent</property>
- <property name="connection.password">hbstudent</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>
Add Comment
Please, Sign In to add comment