Olá, hoje iremos descobrir onde e quando utilizar SQL – Structured Query Language puro ou Hibernate em seus projetos. A linguagem de consulta estruturada ou SQL é uma linguagem padrão para banco de dados relacional. É considerada simples e de fácil utilização. Ela é uma linguagem declarativa, assim, suas Queries especificam a forma do resultado e não o caminho para se chegar a ele, o que diminui a curva de aprendizado.
O Hibernate é um framework que se preocupa com a persistência de dados, uma vez que se aplica a bancos de dados relacionais (via JDBC). Voltado para o mapeamento objeto-relacional, ou ainda, um framework Object Relational Mapping (ORM), de qualquer forma uma pedra no caminho de desenvolvedores que trabalham com orientação a objetos e necessitam converter dados em objetos e vice-versa.
O Hibernate surge com ideia de pelo menos facilitar essa conversão de dados em objetos e de objetos em dados. Sua principal função é abstrair o mapeamento, economizando esforço e preocupações referentes a essa tarefa e consequentemente simplificando a tarefa para o desenvolvedor. E com isso possibilitar que seu foco seja de fato o desenvolvimento da aplicação. Ele possui uma arquitetura simples, é fácil de configurar e de entender.
QUANDO USÁ-LOS?
O SQL puro pode ser usado juntamente o JDBC – Java Database Connectivity, que é uma API com um conjunto de classes e interfaces que fazem o envio de instruções SQL para qualquer banco de dados relacional por meio de um driver específico. Essas classes e interfaces são escritas em Java. Mas também pode ser utilizado com Hibernate.
O Hibernate tem a sua própria versão de SQL, é o HQL – Hibernate Query Language, que é uma espécie de dialeto do Hibernate e totalmente orientada a objeto com todos os seus paradigmas de herança, polimorfismo e encapsulamento. Mas ele possibilita que você escolha usar tanto o SQL quanto o HQL. Desse modo, saber quando usar um e quando usar o outro é a grande questão.
Quando você precisa que sua aplicação entregue performance na geração de dados para relatórios, por exemplo, quando você precisa que este processamento se dê de forma rápida, neste caso o ideal é utilizar o SQL puro.
EM POUCAS PALAVRAS
No caso de aplicações robustas, onde a velocidade de processamento é importante. Isto é, em um contexto de milhares de dados sendo processados a escolha do SQL puro com JDBC pode representar uma considerável redução no tempo de processamento e diminuição do consumo de memória. E claro, você pode em uma mesma aplicação combinar o uso do SQL puro com JDBC e o uso do Hibernate. Você precisa apenas saber o momento de usar um e outro, onde você precisa de performance utilize o SQL.