I have started a new project with Hibernate. Is Hibernate annotation a better choice or is Hibernate XML mapping better?
I have used Hibernate with XML configuration
Annotations are a better choice for a new application, since it makes the application free from XML files. It is also less code and maintenance is easy. It also helps for refactoring the application (with IDE like Eclipse/NetBeans, etc.), which is the problem with XML since you need to change it manually.
Answers:
No issues, you can use the latest JSR 330 API (dependency injection for Java) which helps to the same annotation for a JSF managed bean (use @Named
instead of @managedbean
), the Spring IoC layer and Hibernate, so that whole layer you will have a single annotation concept instead of a framework specific.
Maintenance is easy especially refactoring of code, fewer or no XML files and new learning. Use JPA based annotation with Hibernate. You can find some sample in google.
Widely use XML based since it was there from begining, but for a new application annotation is better which is more mature.
For change to any database, the code will remain the same in annotation or XML, only you need to change the property file values.
Before annotation there was only one way to do that - XML. If you use annotation, you will have all in one place, therefore understanding and maintaning it will be easier.
Annotations are newer, and are the standard way of doing for JPA applications.
I find them easier to use than XML, but it's a matter of taste and experience. Using them would make you
I've never been in a situation where I needed XML because annotations didn't allow me to do what I wanted.