การทำ CRUD ด้วย Hibernate (XML Mapping)

วันนี้เรามาเรียนรู้วิธีการทำ CRUD (Create Read Update Delete) เพื่อจัดการฐานข้อมูลด้วย Hibernate Framework กันครับ ใครที่ยังไม่รู้ว่า Hibernate คืออะไร สามารถดูได้จากบทความก่อนหน้านี้ครับ Hibernate คืออะไร งั้นเรามาเริ่มกันเลยครับ

หมายเหตุ 1 : เครื่องมือที่ใช้ในบทความนี้
  1. JDK 1.7.0_79 
  2. MySQL 5.6 
  3. Hibernate 5.0.2.Final 
  4. Eclipse 4.5 (Maven Integrate)
หมายเหตุ 2 หากยังไม่ได้ติดตั้ง : การติดตั้งเครื่องมือต่างๆ
  1. การติดตั้ง Java JDK 7
  2. การกำหนด Java Path (JAVA_HOME)
  3. การติดตั้ง MySQL ใน Window
  4. การติดตั้ง Eclipse ใน Window
ขั้นตอนที่ 1 : สร้างตาราง
  
CREATE TABLE `user` (`id` bigint(20) NOT NULL AUTO_INCREMENT,
  `first_name` varchar(50) NOT NULL,
  `last_name` varchar(50) NOT NULL,
  `age` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

ขั้นตอนที่ 2 : สร้าง Java Project ด้วย Maven
สามารถดูตัวอย่างวิธีการสร้างได้จาก การสร้าง Java Project ด้วย Maven ใน Eclipse

ขั้นตอนที่ 3 : แก้ไฟล์ pom.xml
ทำการแก้ไฟล์ pom.xml เพื่อเพิ่ม dependency ต่างๆที่จำเป็นสำหรับโปรเจค ซึ่งตัว Maven จะทำการดาวน์โหลด *.jar ต่างๆที่เกี่ยวข้อง ตามที่เราระบุไว้ใน pom.xml มาไว้ในเครื่องเราเพื่อใช้กับโปรเจค

 4.0.0

 com.xml.hibernate
 HibernateXML
 0.0.1-SNAPSHOT
 jar

 HibernateXML
 http://maven.apache.org

 
  UTF-8
 

 
  
   junit
   junit
   3.8.1
   test
  

  
  
   mysql
   mysql-connector-java
   5.1.36
  

  
  
   org.hibernate
   hibernate-core
   5.0.2.Final
  

  
  
   org.jboss.logging
   jboss-logging
   3.3.0.Final
  
 

 
 
  
   
    org.codehaus.mojo
    exec-maven-plugin
    1.4.0
    
     
      package
      
       java
      
     
    
    
     com.xml.hibernate.App
     false
    
   
  
 
ขั้นตอนที่ 4 : สร้างไฟล์ Hibernate Mapping (hbm) + Model
  • สร้างไฟล์ที่ชื่อว่า User.hbm.xml ซึ่งไฟล์ *.hbm.xml ทำหน้าที่ในการ mapping filed จากฐานข้อมูลกับ Object ของ java โดยมีการระบุความสัมพันธ์ว่า ตัวแปลไหนใน object (Class) java ทำการ map กับ ตารางอะไร, column อะไรในฐานข้อมูล โดยสร้างไว้ที่ /src/main/resources/com/xml/hibernate/User.hbm.xml และใส่โคดดังต่อไปนี้

 
  
   
   
  
  
   
  
  
   
  
  
   
  
 

  • ต่อมาสร้างไฟล์ที่ชื่อว่า User.java ซึ่งเป็นไฟล์ Java ที่เรียกว่า POJO (Plain Old Java Object) โดยโครงสร้างภายในจะมีแต่ ตัวแปล และ get, set เท่านั้น โดยสร้างไว้ที่ src/main/java/com/xml/hibernate/model/User.java และใส่โคดดังต่อไปนี้
package com.xml.hibernate.model;

import java.io.Serializable;

@SuppressWarnings("serial")
public class User implements Serializable {
 private Integer id;
 private String firstName;
 private String lastName;
 private Integer age;
 
 public User() {
  // TODO Auto-generated constructor stub
 }

 public Integer getId() {
  return id;
 }

 public User(String firstName, String lastName, Integer age) {
  super();
  this.firstName = firstName;
  this.lastName = lastName;
  this.age = age;
 }

 public void setId(Integer 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 Integer getAge() {
  return age;
 }

 public void setAge(Integer age) {
  this.age = age;
 }
}
ขั้นตอนที่ 5 : สร้างไฟล์ Hibernate Configuration
สร้างไฟล์ที่ชื่อว่า hibernate.cfg.xml ซึ่งเป็นไฟล์ที่ทำหน้าที่เก็บข้อมูลต่างๆที่ใช้ในการเชื่อมต่อกับฐานข้อมูลโดยที่
  • hibernate.connection.driver_class : driver ซึ่งต้องเป็น driver ที่เกี่ยวกับฐานข้อมูลที่ใช้อยู่
  • hibernate.connection.url : url ที่อยู่ของฐานข้อมูล
  • hibernate.connection.username : ชื่อผู้ใช้
  • hibernate.connection.password : รหัสผ่าน
  • hibernate.connection.pool_size : จำนวนสูงสุดที่สามารถเชื่อมต่อฐานข้อมูลได้
  • hibernate.dialect : ค่าที่กำหนดเพื่อให้ Hibernate Generate SQL กับฐานข้อมูลนั้นๆ เช่น
    • DB2 : org.hibernate.dialect.DB2Dialect
    • HSQLDB : org.hibernate.dialect.HSQLDialect
    • HypersonicSQL : org.hibernate.dialect.HSQLDialect
    • Informix : org.hibernate.dialect.InformixDialect
    • Ingres : org.hibernate.dialect.IngresDialect
    • Interbase : org.hibernate.dialect.InterbaseDialect
    • Microsoft SQL Server 2000 : org.hibernate.dialect.SQLServerDialect
    • Microsoft SQL Server 2005 : org.hibernate.dialect.SQLServer2005Dialect
    • Microsoft SQL Server 2008 : org.hibernate.dialect.SQLServer2008Dialect
    • MySQL : org.hibernate.dialect.MySQLDialect
    • Oracle (any version) : org.hibernate.dialect.OracleDialect
    • Oracle 11g : org.hibernate.dialect.Oracle10gDialect
    • Oracle 10g : org.hibernate.dialect.Oracle10gDialect
    • Oracle 9i : org.hibernate.dialect.Oracle9iDialect
    • PostgreSQL : org.hibernate.dialect.PostgreSQLDialect
    • Progress : org.hibernate.dialect.ProgressDialect
    • SAP DB : org.hibernate.dialect.SAPDBDialect
    • Sybase : org.hibernate.dialect.SybaseDialect
    • Sybase Anywhere : org.hibernate.dialect.SybaseAnywhereDialect
  • show_sql : กำหนดเพื่อแสดงชุดคำสั่ง SQL หรือไม่
  • /* Mapping Files */ : ใน Mapping Files ใช้สำหรับอ้างอิงไฟล์ Mapping ที่เราสร้างไปก่อนหน้านั้น
โดยสร้างไว้ที่ src/main/resources/hibernate.cfg.xml และใส่โคดดังต่อไปนี้
 
  com.mysql.jdbc.Driver
  jdbc:mysql://localhost:3306/hibernate
  root
  1234

  org.hibernate.dialect.MySQLDialect
  true

  
  
 
ขั้นตอนที่ 6 : สร้างไฟล์ log4.properties
สร้างไฟล์ที่ชื่อว่า log4.properties ซึ่งเป็นไฟล์ที่ทำหน้าที่เก็บค่าต่างๆสำหรับ Logs โดยสร้างไว้ที่ /src/main/resources/log4.properties และใส่โคดดังต่อไปนี้
# Root logger option
log4j.rootLogger=DEBUG,stdout

# Redirect log messages to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

# hibernate log
log4j.logger.org.hibernate.SQL=ALL
log4j.logger.org.hibernate.type=ALL
log4j.logger.org.hibernate.tool.hbm2ddl=INFO
log4j.logger.org.hibernate=INFO
ขั้นตอนที่ 7 : สร้างไฟล์ Hibernate Utility
สร้างไฟล์ที่ชื่อว่า HibernateUtil.java ซึ่งเป็นไฟล์ที่ทำหน้าที่สร้าง Session เพื่อเชื่อมต่อกับฐานข้อมูลโดยสร้างไว้ที่ /src/main/java/com/xml/hibernate/util/HibernateUtil.java และใส่โคดดังต่อไปนี้
package com.xml.hibernate.util;

import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class HibernateUtil {

    private static final SessionFactory sessionFactory = buildSessionFactory();

    private static SessionFactory buildSessionFactory() {
        try {
            // Create the SessionFactory from hibernate.cfg.xml
            return new Configuration().configure().buildSessionFactory();
        }
        catch (Throwable ex) {
            // Make sure you log the exception, as it might be swallowed
            System.err.println("Initial SessionFactory creation failed." + ex);
            throw new ExceptionInInitializerError(ex);
        }
    }

    public static SessionFactory getSessionFactory() {
        return sessionFactory;
    }
    
    public static void shutdown() {
     // Close caches and connection pools
     getSessionFactory().close();
    }
}
ขั้นตอนที่ 8 : สร้างไฟล์ UserManager.java
สร้างไฟล์ที่ชื่อว่า UserManager.java ซึ่งทำหน้าที่เป็นตัวจัดการการ insert, update, delete และ query ต่างๆ โดยสร้างไว้ที่ /src/main/java/com/xml/hibernate/manager/HibernateUtil.java และใส่โคดดังต่อไปนี้
package com.xml.hibernate.manager;

import java.util.ArrayList;
import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;
import org.jboss.logging.Logger;
import com.xml.hibernate.manager.UserManager;
import com.xml.hibernate.model.User;

public class UserManager {
 private static final Logger logger = Logger.getLogger(UserManager.class);

 public void create(User user) {
  logger.info("========== Insert Data Section ==========");
  Session session = HibernateUtil.getSessionFactory().openSession();
  session.beginTransaction();
  session.save(user);
  session.getTransaction().commit();
 }

 public void update(User user) {
  logger.info("========== Update Data Section ==========");
  Session session = HibernateUtil.getSessionFactory().openSession();
  session.beginTransaction();
  session.update(user);
  session.getTransaction().commit();
 }

 public void delete(User user) {
  logger.info("========== Delete Data Section ==========");
  Session session = HibernateUtil.getSessionFactory().openSession();
  session.beginTransaction();
  session.delete(user);
  session.getTransaction().commit();
 }

 @SuppressWarnings("unchecked")
 public List query() {
  logger.info("========== Query Data Section ==========");
  List result = new ArrayList();
  Session session = HibernateUtil.getSessionFactory().openSession();
  session.beginTransaction();
  Query query = session.createQuery("FROM User "); // FROM com.xml.hibernate.User
  session.getTransaction().commit();
  result = (List) query.list();
  return result;
 }
}
ขั้นตอนที่ 9 : โครงสร้างโปรเจคที่ได้

ขั้นตอนที่ 10 : แก้ไฟล์หลักของโปรเจค App.java
กรณี Create :
package com.xml.hibernate;

import java.util.List;

import org.jboss.logging.Logger;
import com.xml.hibernate.manager.UserManager;
import com.xml.hibernate.model.User;

public class App {
 final static Logger logger = Logger.getLogger(App.class);
 
 public static void main(String[] args) {
  UserManager usermgr = new UserManager();
  User user1 = new User();
  user1.setFirstName("Nopphanan");
  user1.setLastName("Mayoe");
  user1.setAge(18);
  
  User user2 = new User();
  user2.setFirstName("Kingsuwan");
  user2.setLastName("Mayoe");
  user2.setAge(18);
  
  // insert
  usermgr.create(user1);
  usermgr.create(user2);
 }

}


ผลลัพธ์ที่ได้
Oct 10, 2015 10:01:11 PM com.xml.hibernate.manager.UserManager create
INFO: ========== Insert Data Section ==========
Oct 10, 2015 10:01:12 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {5.0.2.Final}
Oct 10, 2015 10:01:12 PM org.hibernate.cfg.Environment 
INFO: HHH000206: hibernate.properties not found
Oct 10, 2015 10:01:12 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
Oct 10, 2015 10:01:13 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager 
INFO: HCANN000001: Hibernate Commons Annotations {5.0.0.Final}
Oct 10, 2015 10:01:15 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
WARN: HHH000402: Using Hibernate built-in connection pool (not for production use!)
Oct 10, 2015 10:01:15 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH000401: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql://localhost:3306/hibernate]
Oct 10, 2015 10:01:15 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH000046: Connection properties: {user=root, password=****}
Oct 10, 2015 10:01:15 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH000006: Autocommit mode: false
Oct 10, 2015 10:01:15 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000115: Hibernate connection pool size: 10 (min=1)
Oct 10, 2015 10:01:15 PM org.hibernate.dialect.Dialect 
INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQLDialect
Oct 10, 2015 10:01:16 PM org.hibernate.boot.internal.SessionFactoryBuilderImpl$SessionFactoryOptionsStateStandardImpl 
WARN: Unrecognized hbm2ddl_auto value : Create.  Supported values include create, create-drop, update, and validate.  Ignoring
Hibernate: insert into hibernate.user (FIRST_NAME, LAST_NAME, AGE) values (?, ?, ?)
Oct 10, 2015 10:01:16 PM com.xml.hibernate.manager.UserManager create
INFO: ========== Insert Data Section ==========
Hibernate: insert into hibernate.user (FIRST_NAME, LAST_NAME, AGE) values (?, ?, ?)


กรณี Read:
package com.xml.hibernate;

import java.util.List;

import org.jboss.logging.Logger;
import com.xml.hibernate.manager.UserManager;
import com.xml.hibernate.model.User;

public class App {
 final static Logger logger = Logger.getLogger(App.class);
 
 public static void main(String[] args) {
  // query
  UserManager usermgr = new UserManager();
  List result = usermgr.query();
  for (int i = 0; i < result.size(); i++) {
        logger.info("========== query index " + i + " ==========");
 User user = result.get(i);
 logger.info("id : " + user.getId() + " first name : " + user.getFirstName() + " last name : " + user.getLastName() + " age : " + user.getAge());
  }
 }

}


ผลลัพธ์ที่ได้
Oct 10, 2015 10:05:23 PM com.xml.hibernate.manager.UserManager query
INFO: ========== Query Data Section ==========
Oct 10, 2015 10:05:23 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {5.0.2.Final}
Oct 10, 2015 10:05:23 PM org.hibernate.cfg.Environment 
INFO: HHH000206: hibernate.properties not found
Oct 10, 2015 10:05:23 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
Oct 10, 2015 10:05:25 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager 
INFO: HCANN000001: Hibernate Commons Annotations {5.0.0.Final}
Oct 10, 2015 10:05:27 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
WARN: HHH000402: Using Hibernate built-in connection pool (not for production use!)
Oct 10, 2015 10:05:27 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH000401: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql://localhost:3306/hibernate]
Oct 10, 2015 10:05:27 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH000046: Connection properties: {user=root, password=****}
Oct 10, 2015 10:05:27 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH000006: Autocommit mode: false
Oct 10, 2015 10:05:27 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000115: Hibernate connection pool size: 10 (min=1)
Oct 10, 2015 10:05:27 PM org.hibernate.dialect.Dialect 
INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQLDialect
Oct 10, 2015 10:05:27 PM org.hibernate.boot.internal.SessionFactoryBuilderImpl$SessionFactoryOptionsStateStandardImpl 
WARN: Unrecognized hbm2ddl_auto value : Create.  Supported values include create, create-drop, update, and validate.  Ignoring
Oct 10, 2015 10:05:28 PM org.hibernate.hql.internal.QueryTranslatorFactoryInitiator initiateService
INFO: HHH000397: Using ASTQueryTranslatorFactory
Hibernate: select user0_.id as id1_0_, user0_.FIRST_NAME as FIRST_NA2_0_, user0_.LAST_NAME as LAST_NAM3_0_, user0_.AGE as AGE4_0_ from hibernate.user user0_
Oct 10, 2015 10:05:28 PM com.xml.hibernate.App main
INFO: ========== query index 0 ==========
Oct 10, 2015 10:05:28 PM com.xml.hibernate.App main
INFO: id : 2 first name : Nopphanan last name : Mayoe age : 18
Oct 10, 2015 10:05:28 PM com.xml.hibernate.App main
INFO: ========== query index 1 ==========
Oct 10, 2015 10:05:28 PM com.xml.hibernate.App main
INFO: id : 3 first name : Kingsuwan last name : Mayoe age : 18

กรณี Update:
package com.xml.hibernate;

import java.util.List;

import org.jboss.logging.Logger;
import com.xml.hibernate.manager.UserManager;
import com.xml.hibernate.model.User;

public class App {
 final static Logger logger = Logger.getLogger(App.class);
 
 public static void main(String[] args) {
  UserManager usermgr = new UserManager();
  User user1 = new User();
  user1.setId(2);
  user1.setFirstName("Hello");
  user1.setLastName("World");
  user1.setAge(15);

  // update
  usermgr.update(user1);
 }

}


ผลลัพธ์ที่ได้
Oct 10, 2015 10:10:26 PM com.xml.hibernate.manager.UserManager update
INFO: ========== Update Data Section ==========
Oct 10, 2015 10:10:26 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {5.0.2.Final}
Oct 10, 2015 10:10:26 PM org.hibernate.cfg.Environment 
INFO: HHH000206: hibernate.properties not found
Oct 10, 2015 10:10:26 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
Oct 10, 2015 10:10:29 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager 
INFO: HCANN000001: Hibernate Commons Annotations {5.0.0.Final}
Oct 10, 2015 10:10:30 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
WARN: HHH000402: Using Hibernate built-in connection pool (not for production use!)
Oct 10, 2015 10:10:30 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH000401: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql://localhost:3306/hibernate]
Oct 10, 2015 10:10:30 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH000046: Connection properties: {user=root, password=****}
Oct 10, 2015 10:10:30 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH000006: Autocommit mode: false
Oct 10, 2015 10:10:30 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000115: Hibernate connection pool size: 10 (min=1)
Oct 10, 2015 10:10:31 PM org.hibernate.dialect.Dialect 
INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQLDialect
Oct 10, 2015 10:10:31 PM org.hibernate.boot.internal.SessionFactoryBuilderImpl$SessionFactoryOptionsStateStandardImpl 
WARN: Unrecognized hbm2ddl_auto value : Create.  Supported values include create, create-drop, update, and validate.  Ignoring
Hibernate: update hibernate.user set FIRST_NAME=?, LAST_NAME=?, AGE=? where id=?


กรณี Delete:
package com.xml.hibernate;

import java.util.List;

import org.jboss.logging.Logger;
import com.xml.hibernate.manager.UserManager;
import com.xml.hibernate.model.User;

public class App {
 final static Logger logger = Logger.getLogger(App.class);
 
 public static void main(String[] args) {
  UserManager usermgr = new UserManager();
  User user1 = new User();
  user1.setId(2);
  user1.setFirstName("Hello");
  user1.setLastName("World");
  user1.setAge(15);
  // delete
  usermgr.delete(user1);
 }

}

ผลลัพธ์ที่ได้
Oct 10, 2015 10:16:24 PM com.xml.hibernate.manager.UserManager delete
INFO: ========== Delete Data Section ==========
Oct 10, 2015 10:16:24 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {5.0.2.Final}
Oct 10, 2015 10:16:24 PM org.hibernate.cfg.Environment 
INFO: HHH000206: hibernate.properties not found
Oct 10, 2015 10:16:24 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
Oct 10, 2015 10:16:25 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager 
INFO: HCANN000001: Hibernate Commons Annotations {5.0.0.Final}
Oct 10, 2015 10:16:29 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
WARN: HHH000402: Using Hibernate built-in connection pool (not for production use!)
Oct 10, 2015 10:16:29 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH000401: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql://localhost:3306/hibernate]
Oct 10, 2015 10:16:29 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH000046: Connection properties: {user=root, password=****}
Oct 10, 2015 10:16:29 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH000006: Autocommit mode: false
Oct 10, 2015 10:16:29 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000115: Hibernate connection pool size: 10 (min=1)
Oct 10, 2015 10:16:29 PM org.hibernate.dialect.Dialect 
INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQLDialect
Oct 10, 2015 10:16:29 PM org.hibernate.boot.internal.SessionFactoryBuilderImpl$SessionFactoryOptionsStateStandardImpl 
WARN: Unrecognized hbm2ddl_auto value : Create.  Supported values include create, create-drop, update, and validate.  Ignoring
Hibernate: delete from hibernate.user where id=?


About Nop

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment

0 comments:

Post a Comment