Hibernate – The type AnnotationConfiguration is deprecated
Problem
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
” ?
Solution
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);
}
}
What happend with Hibernate 5??? where is the annotationConfiguration class??
Thanks!
Great explanation! Thanks!
Your explanation is Awesome. Thanks Yong.
i’ve replayed JUnit test method to this:
and the method is still remarked with a deleted line through it(still deprecated).
Method
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.
Got it .
Thanks a lot.Best wishes for you.
but using new configuration() will gives the error required annotated instance to work..
hello himanshu. use this..
simply call addAnnotatedClass() method and pass your class which contains annotations.
The References says:
Parameters:
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.
thanX.
in that case, you can create a method and pass your class such this.