Porque usar ORM

Uma implementação ORM é mais complexa que outro framework qualquer para desenvolvimento web, porém os benefícios de desenvolver utilizando esta tecnologia são grandes.

Códigos de acesso a banco de dados com queries SQL são chatos de se desenvolver. JPA elimina muito do trabalho e deixa você se concentrar na lógica de negócio. JPA trará uma produtividade imensa para você.

Em sistemas com a camada de persistência desenvolvida usando JDBC e SQL, existe um trabalho na implementação para representar tabelas como objetos de domínio, e alterações no banco de dados ou no modelo de domínio geram um esforço de readequação que pode custar caro.

Com JPA, você pode desenvolver um sistema usando um banco de dados e colocá-lo em produção usando diversos outros banco de dados, sem precisar alterar códigos-fontes para adequar sintaxe de queries que só funcionam em SGBDs de determinados fornecedores.

Código com JDBC e SQL

Abaixo pode ver a quantidade de código que é preciso escrever para poder inserir um novo registro de fornecedor no banco de dados ou atualizar, apesar de todo o problema de manutenção o código fica complexo e só tente a crescer com mais campos sendo adicionados.

public void salvarOuAtualizar(Fornecedor fornecedor) throws Exception {
		if (fornecedor.getFornecedorID() != null
				&& fornecedor.getFornecedorID() > 0) {
			String sql = "UPDATE fornecedor SET nomeFantasia=?, razaoSocial=?, CNPJ=?, "
					+ "cidade=?, regiao=?  where fornecedorID = "
					+ fornecedor.getFornecedorID();
			PreparedStatement statement = connection.prepareStatement(sql);
			statement.setString(1, fornecedor.getNomeFantasia());
			statement.setString(2, fornecedor.getRazaoSocial());
			statement.setString(3, fornecedor.getCNPJ());
			statement.setString(4, fornecedor.getCidade());
			statement.setString(5, fornecedor.getRegiao());
			statement.execute();
			connection.commit();
		} else {
			String sql = "INSERT INTO fornecedor(nomeFantasia, razaoSocial,"
					+ " CNPJ, cidade, regiao)VALUES ( ?, ?, ?, ?, ?);";
			PreparedStatement statement = connection.prepareStatement(sql);
			statement.setString(1, fornecedor.getNomeFantasia());
			statement.setString(2, fornecedor.getRazaoSocial());
			statement.setString(3, fornecedor.getCNPJ());
			statement.setString(4, fornecedor.getCidade());
			statement.setString(5, fornecedor.getRegiao());
			statement.execute();
		}

	}

Código com ORM JPA

Abaixo podemos ver a mesma rotina anterior de salvar e atualizar o registro mas agora estamos usando todo o poder do JPA, além do código ficar super simples, pequeno e legível dificilmente o código irá crescer porque não é preciso mais adicionar nada ao código caso seja criado mais algum campo para o cadastro do fornecedor.

public E salvarOuAtualizar(Fornecedor fornecedor) throws Exception {
                EntityManager entityManager = JPAUtil.getEntityManager();
		EntityTransaction entityTransaction = entityManager.getTransaction();
		entityTransaction.begin();
		
		E retorno = entityManager.merge(fornecedor);
		
		entityTransaction.commit();
		entityManager.close();
               return retorno;
}

Os benefícios de usar ORM são imensos e hoje estou dando apenas um pequeno exemplo como pode ser facilitado o processo de salvar e atualizar um registro no banco de dados.

Curso que recomendo para você

Selecionamos uma série de cursos on-line para você se preparar e abrir as portas para as vagas de programação.
Conheça cada um dos cursos nos links oficiais abaixo. 🙂

Aprenda RESTful com Angular e Spring Frameworks
Angular 1.6 e Spring
Abra as portas para sua carreira de desenvolvedor web em Java com RESTful em Spring e AngularJS.
648 alunosHoras do curso 40h Horas do curso certificado
Promoção R$ 100
1x de R$ 10,50
Arquitetura RESTful Spring Frameworks, BootStrap e Angular estão em alta no mercado nas empresas de desenvolvimento de software.
Mais de 200 aulas curso completo em JSF 2.2
JSF 2.2 e PrimeFaces
Curso completo em JSF 2.2 com PrimeFaces, Spring, Hibernate, JPA, Ireport e CDI. Iremos do básico ao avançado em JSF.
2.985 alunosHoras do curso 100h Horas do curso certificado
Promoção R$ 189
12x de R$ 18,41
A melhor forma de aprender a desenvolver sistemas em Java é tendo como exemplo um projeto e curso completo onde possa observar o código para melhor entendimento do funcionamento das rotinas a acompanhar as vídeos aulas de desenvolvimento. Esse curso contém tudo que um desenvolvedor precisa saber para entrar no mercado de trabalho.


Acesse
Cursos e Projetos
Java
Acesse
Outros Cursos
PHP MySQL Android
Acesse
Encomende um Projeto
Feito pra Você
Acesse
Tire as Dúvidas On-line
Consultor
Acesse
Aulas de Java só suas
Encomende Agora
Acesse
Dividindo Conhecimento
Posts e Tutoriais
Acesse
Sites e Parceiros
Associados
Acesse
Conheça os curso gratuitos
Grátis

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Instrutor Java Quer se tornar aluno VIP? CLIQUE AQUI!
Instrutor Java

Alex Fernando Egidio
Autor, criador e fundador do Java Avançado Cursos TI. Atua no mercado como desenvolvedor e engenheiro de sistemas em Java é apaixonado por desenvolvimento web em Java e pela “mágica” que seus frameworks trazem para o dia a dia de nós desenvolvedores.
Com mais de 10 anos de experiência ajuda programadores do Brasil todo a se tornarem profissionais.