Ver Mensaje Individual
  #3 (permalink)  
Antiguo 28/02/2017, 10:20
agleiva
(Desactivado)
 
Fecha de Ingreso: enero-2015
Mensajes: 393
Antigüedad: 9 años, 3 meses
Puntos: 52
Respuesta: Alguna API de Hibernate para hacer queries en java que no me haga querer s

Cita:
Iniciado por ElAthlit Ver Mensaje
Yo no uso criteria en Hibernate.

Código Java:
Ver original
  1. String hql = "FROM Persona p WHERE p.edad > 30";
  2. List<Persona> lista = (List<Persona>)getCurrentSession().createQuery(hql).list();

Y si me apuras, te lo dejo en una sola linea
como dije arriba, esto es todavia peor:

- ¿Quien te garantiza que no escribiste "SLEECT" en lugar de "SELECT" o "WHEER" en lugar de "WHERE" por ejemplo?
- ¿Hay alguna herramienta que verifique esto en tiempo de compilación?
- Qué pasa si el 30 en lugar de lugar de estar hardcodeado en la consulta viene desde un parámetro del método?
- ¿Qué pasa si le cambio el nombre al campo edad en la entidad?
- ¿Qué pasa si el campo "edad" deja de estar en la entidad Persona y lo paso a "DatosPersonales", por ejemplo, donde Persona tiene una relación 1-1 con DatosPersonales?
- ¿Cómo hago si quiero componer la consulta ante determinadas circunstancias?

Tengo un caso ahora mismo donde quiero filtrar por edad SOLO si el usuario marca un checkbox,

Código Java:
Ver original
  1. if (filtrarPorEdad) {
  2.    // ... Como hago esto? Concatenando el string?
  3. }

Igual, uses lo que uses, la realidad es que esta aplicacion no la hice yo, y es un asco. Realmente trabajan asi en java a esta altura?

¿Para qué sirve usar un lenguaje estático si la mitad de tu código (diría la parte más importante) está en un string?

Última edición por agleiva; 28/02/2017 a las 10:27