Example of AnnotationConfiguration in Hibernate

By Arvind Rai, May 11, 2013
AnnotationConfiguration is the class which creates the session factory in Hibernate. AnnotationConfiguration is used when we are using annotated POJO instead of hbm files. AnnotationConfiguration can configure database configuration and can register all the classes which are acting as POJO. Find the example to use AnnotationConfiguration.

HibernateUtil.java
package com.concretepage.util;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import com.concretepage.persistence.User;
public class HibernateUtil {
	private static final SessionFactory concreteSessionFactory;
	static {
		try {
			
			concreteSessionFactory = new AnnotationConfiguration()
				   .configure()
				   .buildSessionFactory();
		} catch (Throwable ex) {
			throw new ExceptionInInitializerError(ex);
		}
	}
	public static Session getSession()
			throws HibernateException {
		return concreteSessionFactory.openSession();
	}
	
	public static void main(String... args){
		Session session=getSession();
		session.beginTransaction();
		User user=(User)session.get(User.class, new Integer(1));
		System.out.println(user.getName());
		session.close();
	}
}
 


hibernate.cfg.xml
 <!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.url">
    jdbc:mysql://localhost:3306/hibernate</property>
    <property name="hibernate.connection.username">root</property>
    <property name="hibernate.connection.password"></property>
    <property name="hibernate.connection.pool_size">10</property>
    <property name="show_sql">true</property>
    <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
    <property name="hibernate.hbm2ddl.auto">update</property>
    <mapping class="com.concretepage.persistence.User"/>
            
   </session-factory>
</hibernate-configuration>
 


User.java
package com.concretepage.persistence;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="user")  
public class User {
	@Id
	@GeneratedValue
	private int id;
		
	@Column(name="name")
	private String name;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
}
 


Database Table
  id     name
  
  1     Ankita
  2     Renu  
 


Output
Hibernate: select user0_.id as id0_0_, user0_.name as name0_0_ from user user0_ where user0_.id=?
Ankita
 
POSTED BY
ARVIND RAI
ARVIND RAI
LEARN MORE








©2024 concretepage.com | Privacy Policy | Contact Us