Hibernate – The type AnnotationConfiguration is deprecated


Working with Hibernate 3.6, noticed the previous “org.hibernate.cfg.AnnotationConfiguration“, is marked as “deprecated“.

Code snippets …

import org.hibernate.cfg.AnnotationConfiguration;
private static SessionFactory buildSessionFactory() {
	try {
		return new AnnotationConfiguration().configure().buildSessionFactory();
	} catch (Throwable ex) {
		System.err.println("Initial SessionFactory creation failed." + ex);
		throw new ExceptionInInitializerError(ex);

The code is still working, just keep displaying the deprecated warning message, is there any replacement for “AnnotationConfiguration” ?


In Hibernate 3.6, “org.hibernate.cfg.AnnotationConfiguration” is deprecated, and all its functionality has been moved to “org.hibernate.cfg.Configuration“.

So , you can safely replace your “AnnotationConfiguration” with “Configuration” class.

Code snippets …

import org.hibernate.cfg.Configuration;
private static SessionFactory buildSessionFactory() {
	try {
		return new Configuration().configure().buildSessionFactory();
	} catch (Throwable ex) {
		System.err.println("Initial SessionFactory creation failed." + ex);
		throw new ExceptionInInitializerError(ex);


  1. http://docs.jboss.org/hibernate/core/3.6/javadocs/org/hibernate/cfg/AnnotationConfiguration.html
  2. http://docs.jboss.org/hibernate/core/3.6/javadocs/org/hibernate/cfg/Configuration.html
Tags :

About the Author

Founder of Mkyong.com and HostingCompass.com, love Java and open source stuff. Follow him on Twitter, or befriend him on Facebook or Google Plus. If you like my tutorials, consider make a donation to these charities.


  • Pingback: clc electricians tool pouch()

  • Pingback: important site()

  • Pingback: house blue()

  • Pingback: locksmiths tucson()

  • Pingback: car parking()

  • Pingback: water ionizer pay plan loans()

  • Pingback: pay day loans()

  • Pingback: water ionizer()

  • Pingback: laan penge()

  • Pingback: mobile porn movies()

  • Pingback: nu()

  • Pingback: parking()

  • Pingback: DIRECTV vs Cable()

  • Pingback: best DIRECTV deals()

  • Pingback: tvpackages.net()

  • Pingback: kangen water machine()

  • Pingback: watch movies online()

  • Pingback: increaseleptin.com()

  • Pingback: Blue Coaster33()

  • Siva K Divi

    Your explanation is Awesome. Thanks Yong.

  • Joker Wu

    i’ve replayed JUnit test method to this:

    	public static void beforeClass() {
    		//new SchemaExport(new AnnotationConfiguration().configure()).create(false, true);
    		//sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
    		sessionFactory = new Configuration().configure().buildSessionFactory();

    and the method is still remarked with a deleted line through it(still deprecated).

    • http://www.fikrifadzil.com Fikri Fadzil



      is deprecated in Hibernate 4. Instead of using the old way, you may also try a tutorial from RoseIndia at http://www.roseindia.net/hibernate/Hibernate4Example.shtml. The configuration is written for Hibernate 4.

      • Joker Wu

        Got it .
        Thanks a lot.Best wishes for you.

  • himanshu

    but using new configuration() will gives the error required annotated instance to work..

    • http://www.fikrifadzil.com Fikri Fadzil

      hello himanshu. use this..

      new Configuration().addAnnotatedClass(Users.class).configure();

      simply call addAnnotatedClass() method and pass your class which contains annotations.

      • Joker Wu

        The References says:
        annotatedClass – The class containing annotations.
        But in my project,there are many classes configed in the annotation way.So, how can i use the method and set peremeter.


        • http://www.fikrifadzil.com Fikri Fadzil

          in that case, you can create a method and pass your class such this.

          public void getInitializedConfiguration(Class kelas) {
          	new Configuration().addAnnotatedClass(kelas).configure();
  • Pingback: Maven 3 + Hibernate 3.6 + Oracle 11g Example (Annotation)()