Hibernate Date Format
This section contains description of Hibernate Date Format.
Hibernate Date Format :
When you save date to the database using hibernate, the date is converted to
local time and stored.
Suppose your date is '12-06-2012' ,hibernate inserts it into database in default
format of"yyyy-mm-dd".
Timestamp format is yyyy-mm-dd hh:mm:ss.
Timestamp format takes 4 byte whereas DtaeTimeFormat takes 8 byte.
Hibernate provides date type annotation which takes format 'yyyy-mm-dd'
@Type(type = "date")
@Column(name = "date_of_join")
private Date dateOfJoin;
Example : In this example we are selecting employee whose id is 1 and displaying date in different format.
package net.roseindia.main; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; import net.roseindia.table.Employee; import net.roseindia.util.HibernateUtil; import org.hibernate.Criteria; import org.hibernate.HibernateException; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; public class HibernateDateFormat { public static void main(String[] args) { SessionFactory sessionFactory = HibernateUtil.getSessionFactory(); Session session = sessionFactory.openSession();; try { String hql = "SELECT emp from Employee emp WHERE emp.id=1"; Query query1 = session.createQuery(hql); List<Employee> objectList = query1.list(); Iterator iterator = objectList.iterator(); Employee employee = (Employee) iterator.next(); Date date = employee.getDateOfJoin(); SimpleDateFormat format = new SimpleDateFormat("dd-MM-yyyy"); String dateBufferString = format.format(date); Date dateBuffer; try { dateBuffer = format.parse(dateBufferString); System.out.println("Database Date Format :" + date); System.out.println("(dd-MM-yyyy) date: " + format.format(date)); System.out.println("dateBufferSTring " + dateBufferString); System.out.println("dateBuffer: " + dateBuffer); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } } catch (HibernateException e) { // TODO: handle exception } finally { session.clear(); session.close(); } } }
Output :
Hibernate: select employee0_.emp_id as emp1_0_, employee0_.date_of_join as date2_0_, employee0_.name as name0_, employee0_.salary as salary0_ from employee employee0_ where employee0_.emp_id=1 Database Date Format :2010-03-12 (dd-MM-yyyy) date: 12-03-2010 dateBufferSTring 12-03-2010 dateBuffer: Fri Mar 12 00:00:00 IST 2010