What to use: JPQL or Criteria API? [closed]

I’m pretty sure this has already been covered here on SO but I couldn’t find the existing question. So, here is my point of view on the question:

  • I find JPQL queries easier to write/read.
  • I find the Criteria API nice for building dynamic queries.

Which is basically what you’ll find in Hibernate: Criteria vs. HQL.

But there is one major difference between the JPA 2.0 Criteria API and the Hibernate’s Criteria API that is worth mentioning: the JPA 2.0 Criteria API is a typesafe API and thus gives compile time checks, code completion, better refactoring support, etc.
However, I don’t find that the benefits outweighs the ease of use of JPQL.

To sum up, I would favor JPQL, except for dynamic queries (e.g. for multi criteria search features).

Related questions

  • Hibernate: Criteria vs. HQL
  • What are some of the real world example where JPA2 Criteria API is more preferable?

More resources

  • Hibernate Querying 102 : Criteria API

Leave a Comment

techhipbettruvabetnorabahisbahis forumu