Java – org.hibernate.annotations vs. javax.persistence


Is it a bad idea to use the annotations from the

javax.persistence package

instead of using the

org.hibernate.annotations annotations

I know that using javax.peristence does introduce yet another dependency. But if I ignore that, what are the pros/cons?

Best Solution

Quite the oppsite.

Hibernate is an implementation of the Java Persistence API, and where possible, you should use the standard annotations (in javax.persistence). This way, you could theoretically run your code on other JPA implementations.

Only when you need Hibernate-specific functionality should you use the Hibernate annotations.

The extra dependency is only on the JPA interface/annotation jar files and very light.