Hibernate entityManager

Bom estou começando a estudar o hibernate e acabei me deparando com entitymanager achei bastante interessante

o que fiz nesse metodo:

public List<Departamento> getDepartamentos(){
		List<Departamento> listaDepart = null;
		Session session = null;
		SessionFactory sessionFactory  = HibernateUtil.getSessionFactory();
		try {
			session = sessionFactory.openSession();
			CriteriaBuilder builder = session.getCriteriaBuilder();
			CriteriaQuery<Departamento> criteriaQuery = builder.createQuery(Departamento.class);
			criteriaQuery.from(Departamento.class);
			listaDepart = session.createQuery(criteriaQuery).getResultList();
		}
		catch(HibernateException e){
			e.printStackTrace();
		}finally {
			if(session != null) {
				session.close();
			}
		}
		return listaDepart;
		
	}

pode ser feito com muito menos linhas
porém estou com uma dúvida
é mais viável continuar desse modo ou ir para o entitymanager do jpa tem alguma desvantagem ou vantagem?

Se usar JdbcTemplate vai escrever menos do que jdbc puro e não ficar engessado com JPA.

spring e jdbc é mais complexo ou mais fácil do que o hibernate e jpa?

e sobre o entitymanager você pode me dizer se vale apena ou continuar com esse modelo?

Voce precisa responder isso pra si mesmo, experimentado ambos. Pra minha experiência jdbcTemplate é muito mais flexível do que Jpa. Apesar de escrever mais com jdbcTemplate, terá mais foco e controle do SQL, não vai ficar perdendo tempo em um emaranhado de configurações de mapeamento e linguagem intermediária de consulta OO pra tentar fazer algo eficiente.

1 curtida