Category: Frameworks


Neste post veremos como instalar o Maven.

Vamos lá?

Plataforma Linux:

Abra o terminal e digite o seguinte comando:

sudo apt-get install maven

Para verificar se o maven foi instalado com êxito, rode o seguinte comando:

mvn -version

Continue lendo

JPA 2 + Hibernate – Criteria

Mais um post ai pra galera, iremos falar sobre Criteria agora.

A algum tempo fui apresentado a API de consultas do Hibernate (Hibernate Criteria API), a idéia basica desta api é que poderiamos fazer consultas SQL ao invés de consultas do Hibernate (HQL).
Fiz uso desta API por algum tempo e sempre obtive bons resultados.

Só que com a JPA 2, passamos a ter acesso a uma outra API de criteria. Há vantagens e também desvantagens de se usar esta API, veja:

Vantagens:

  • Verificação de erros – Muitos erros podem ser identificados em tempo de compilação do projeto;
  • Segurança – Como a JPA trata de criar estas consultas, ficamos quase imunes a SQL injections.

Desvantagens:

  • Complexidade – Muitos desenvolvedor estão acostumados a utilizar linguagens SQL/HQL/JPQL e migrar pra esta API não é simples.

Veremos agora a utilização da API.

Executando uma consulta utilizando JPQL:

		Query q = entityManager.createQuery("SELECT p FROM Produto p");
		List resultList = q.getResultList();

Para executarmos esta mesma query, mas utilizando JPA Criteria API:

Continue lendo

JPA 2 + Hibernate – Named Query

Dando sequencia aqui nos posts sobre jpa e hibernate, iremos falar hoje sobre Named Query.

Apesar da flexibilidade de criarmos query dinamicas isso pode prejudicar significativamente a aplicação em relação a performance, como exemplo vamos ver a query abaixo:

public void anyMethod(){
	String qString = "SELECT p FROM Produto p";
	Query query = entityManager.createQuery(qString);
}

Se criarmos uma consulta dinamica dentro de um método qualquer, toda vez que este método for executado o código JPQL referente a consulta será processado causando lentidão e consultas desnecessárias, uma alternativa menos flexivel porém que tem mais performance é a criação de named queries.

Continue lendo

JPA 2 + Hibernate – Relacionamentos

Mais um post sobre JPA 2.0 + Hibernate, neste post iremos ver os relacionamentos entre as classes.

Os relacionamentos entre as entidades devem ser expressos na modelagem através de vínculos entre as classes. Podemos definir quatro tipos de relacionamentos entre as classes, tais como:

  • One to One (Um para um)

Continue lendo

JPA 2 + Hibernate – Operações

Vamos dar sequencia aos posts sobre JPA 2.0 + Hibernate.

O pré-requisito inicial deste post é ter lido e/ou seguido este post.

Neste post vamos ver algumas das operações basicas de um sistema, tais como:

  • Persistir;
  • Listar;
  • Buscar;
  • Atualizar;
  • Remover;

Persistindo dados:

Para persistir e armazenar as informações de um objeto no banco de dados basta utilizarmos o método persist() do EntityManager.

		Produto novoProduto = new Produto();

		novoProduto.setNome("Produto 1");
		novoProduto.setValor(25.8);

		entityManager.persist(novoProduto);

Continue lendo