Foros del Web » Programación para mayores de 30 ;) » Java »

Alguna API de Hibernate para hacer queries en java que no me haga querer suicidarme?

Estas en el tema de Alguna API de Hibernate para hacer queries en java que no me haga querer suicidarme? en el foro de Java en Foros del Web. Hola. Por cuestiones mas alla de mi control, estoy haciendo mantenimiento en un backend web hecho en java (algo que me juré a mi mismo ...
  #1 (permalink)  
Antiguo 28/02/2017, 08:36
(Desactivado)
 
Fecha de Ingreso: enero-2015
Mensajes: 393
Antigüedad: 9 años, 3 meses
Puntos: 52
Alguna API de Hibernate para hacer queries en java que no me haga querer suicidarme?

Hola. Por cuestiones mas alla de mi control, estoy haciendo mantenimiento en un backend web hecho en java (algo que me juré a mi mismo que nunca iba a hacer, es tener que ensuciarme las manos tocando java, pero bueno, hay que pagar las cuentas)

Ahora bien, con NHibernate y C#, dada cualquier clase, por ejemplo:

Código C#:
Ver original
  1. public class Persona
  2. {
  3.     public string Nombre {get; set; }
  4.     public int Edad {get; set; }
  5. }

puedo hacer esto:

Código C#:
Ver original
  1. ISession session = GetSession();
  2.  
  3. var mayoresDeEdad =
  4.     session.Query<Persona>()
  5.            .Where(x => x.Edad > 30)
  6.            .ToList();

Y NHibernate convierte la expresion x => x.Edad > 30 en SQL automaticamente, con la ventaja de que el codigo que escribo me lo verifica el compilador de C#, y lo tienen en cuenta las herramientas de refactor, renaming, etc. Con lo cual si llego a tipear "Edda" en lugar de "Edad" o algo por el estilo, el error lo detecto sin tener que ejecutar la aplicación. Además de esto, la expresión tiene que ser válida, es decir, el compilador me verifica que no use un tipo de datos inválido (por ejemplo string) para comparar contra un valor entero. Es decir, la expresión x => x.Edad > "Hola" no compila.

En lugar de eso, en este proyecto el codigo esta repleto de basura como esta:

Código Java:
Ver original
  1. Integer edad = new Integer(30);
  2. Criteria criteria = session.createCriteria(Persona.class);
  3. criteria.add(Expression.ge("edad", edad));

Dejando de lado la repetición estúpida donde en 2 líneas de código aparece 4 veces el término "criteria", y dejando de lado el hecho que lo que quiero expresar realmente (buscar personas con edad > 30) se pierde por completo en todo ese ruido inútil, mi mayor problema es que "edad" es un string y si llego a cambiar el nombre de la propiedad en codigo, o tipear mal el compilador ni se entera, y tengo que ejecutar la aplicación para darme cuenta. Sin mencionar que el método Expression.ge() recibe un Object en lugar de un valor del tipo específico de la propiedad. Y por supuesto como la clase Criteria esa no es genérica (ya se, los generics de java no sirven para nada asi que no podría ser de otra forma), ni siquiera hay una forma de validad que "edad" sea una propiedad válida de la clase Persona.

Mis preguntas:

1 - Esta es la forma "moderna" en la que trabajan con bases de datos en java, EN 2017?
2 - ¿En serio? Traté de googlear y todos los ejemplos llevan a esto mismo, o a escribir el SQL en un string, que es todavia peor.
3 - Existe alguna alternativa, alguna API medianamente decente para hacer consultas con Hibernate, en java, que no me haga sentir como que estoy en 1999?

Desde ya agradezco la ayuda que me puedan dar para hacer más tolerable esta tortura.

Última edición por agleiva; 28/02/2017 a las 08:56
  #2 (permalink)  
Antiguo 28/02/2017, 10:11
 
Fecha de Ingreso: febrero-2011
Mensajes: 672
Antigüedad: 13 años, 2 meses
Puntos: 78
Respuesta: Alguna API de Hibernate para hacer queries en java que no me haga querer s

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
  #3 (permalink)  
Antiguo 28/02/2017, 10:20
(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
  #4 (permalink)  
Antiguo 28/02/2017, 10:29
 
Fecha de Ingreso: febrero-2011
Mensajes: 672
Antigüedad: 13 años, 2 meses
Puntos: 78
Respuesta: Alguna API de Hibernate para hacer queries en java que no me haga querer s

Necesitas calmarte.
  #5 (permalink)  
Antiguo 28/02/2017, 10:31
(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
Necesitas calmarte.
Ok, pero eso no resuelve mi problema.
  #6 (permalink)  
Antiguo 28/02/2017, 10:37
(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
Otra pregunta mas:

¿Hay alguna herramienta que te de autocompletado para escribir esos strings de SQL?
Estoy usando el IDE Eclipse.
  #7 (permalink)  
Antiguo 28/02/2017, 18:50
 
Fecha de Ingreso: enero-2009
Ubicación: Kandor
Mensajes: 209
Antigüedad: 15 años, 2 meses
Puntos: 11
Respuesta: Alguna API de Hibernate para hacer queries en java que no me haga querer s

En hibernate existen tres formas de ejecutar una consulta:
1. Criteria: que es como lo estas haciendo
2. HQL: Es el ejemplo que te pusieron (ojo no es SQL y tambien lo soporta NHibernate en C#)
HQL no es SQL porque con lo que trabajas es con los objetos java (POJOs) o con los objetos C# (POCOs) que estan mapeados a las tablas de tu base de datos.
Es decir que en el ejemplo que te pusieron:
Código Java:
Ver original
  1. String hql = "FROM Persona p WHERE p.edad > 30";
La palabra Persona hace referencia a la clase Persona que esta mapeada a la tabla personas, por eso va con mayuscula. Y como es una clase la linea puedo haberse escrito así
Código Java:
Ver original
  1. String hql = "FROM mi.paquete.Persona p WHERE p.edad > 30";
Y pon mucha atención de que no lleva SELECT.
HQL resuelve todas las cuestiones que tienen que ver con la base de datos, es decir, si usas oracle y luego migras a SQL Server o a postgres el HQL es el mismo.

3. SQL Nativo: El SQL se usa para cuestiones de migración, en lo que vas cambiendo los querys a HQL o criteria y tambien lo soporta Nhibernate. Este es un ejemplo en java:
Código Java:
Ver original
  1. Query query=session.createSQLQuery("SELECT IdCiclo,nombreCiclo,Horas FROM CicloFormativo");
  2. List<Object[]> listDatos=query.list();
  3. for (Object[] datos : listDatos) {
  4.     System.out.println(datos[0]+ "-" +datos[1]+ " "+datos[2]+" Horas");
  5. }

Aqui si accedes directo a las tablas.

Si existe una herramienta en eclipse para validar tus HQL:
En el menu Help->Install new software
Pega esta url
http://download.jboss.org./jbosstool...s/development/
y en los paquetes que salen abajo selecciona Jboss application develovment->Hibernate tools
e instala. Después reinicia eclipse, esto te instala el editor de HQL y tendras que conectar la interfaz gráfica dependiendo de la base de datos que estés usando.

Por ultimo te comento que la actitud que estas tomando es muy mala. Se ve que eres fanboy de C# Pero ¿No te has preguntado porque los que hicieron este sistema escogieron NHibernate en vez de Linq u o framework c#? La razón es que la mayoria de ORMs C# estan demasiado integrados hacia SQL Server y cuesta trabajo migrar otras bases, cosa que no ocurre con NHibernate.

Otra cosa también que pasa con C# es que te facilita tanto las cosas que despues no tienes idea de que esta pasando por atras. Por ejemplo, en este codigo:
Código Java:
Ver original
  1. var mayoresDeEdad =
  2.     session.Query<Persona>()
  3.            .Where(x => x.Edad > 30)
  4.            .ToList();
¿Sabes cual es el tipo real de mayoresDeEdad? Y la respuesta es que no lo sabes porque usar var, es como usar el variant de visual basic, que toma el tipo de dato que mejor le acomoda segun el caso. Es decir estas usando C# al estilo visual basic y no al estilo C#.

Mucha gente se queja de java de que es muy verboso al escribir código. Pero yo lo veo como algo bueno, porque eso obliga a los programadores novatos a hacer bien las cosas. Y si no me crees pregunta a los que programan PHP novatos y veras el enorme problema que tienen haciendo cosas como esta:
Código PHP:
Ver original
  1. <?php
  2. echo "<p>Revuelvo todo mi codigo</p>";
  3. ?>
Saludos
  #8 (permalink)  
Antiguo 28/02/2017, 19:44
(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 abrahamhs Ver Mensaje
En hibernate existen tres formas de ejecutar una consulta
O sea que no hay ninguna API moderna que no necesite escribir strings como si estuvieramos en 1995? Ni siquiera con java 8?

Realmente patético.

Cita:
Iniciado por abrahamhs Ver Mensaje
Este es un ejemplo en java

Código Java:
Ver original
  1. Query query=session.createSQLQuery("SELECT IdCiclo,nombreCiclo,Horas FROM CicloFormativo");
  2. List<Object[]> listDatos=query.list();
  3. for (Object[] datos : listDatos) {
  4.     System.out.println(datos[0]+ "-" +datos[1]+ " "+datos[2]+" Horas");
  5. }
Un ejemplo bastante malo. Yo estoy buscando objetos FUERTEMENTE TIPADOS, no esa cosa de Object[], donde tengo que castear de manera insegura. Para qué usas un lenguaje supuestamente estático si tus objetos son todos Object? para eso usa javascript.


Cita:
Iniciado por abrahamhs Ver Mensaje
Si existe una herramienta en eclipse para validar tus HQL
Lo voy a probar, pero ojeando la documentación no veo en ningun lado que esto se integre en el proceso de compilacion, sino que es una herramienta externa. Con lo cual no cubre la necesidad que yo planteo, que es atajar los errores en tiempo de compilacion

Cita:
Iniciado por abrahamhs Ver Mensaje
Se ve que eres fanboy de C#
Yo no soy fan de nada maestro. C# es objetivamente superior a java como lenguaje en todos los aspectos. Te preguntaste por qué lo unico que hizo java en los ultimos 10 años a nivel de diseño de lenguaje (y lo que piensa seguir haciendo por lo menos hasta 2020) es imitar a C#?

Tuve que agarrar este proyecto a la fuerza porque es un sistema contra el que tengo que integrar un sistema mio (hecho con tecnologia moderna, por supuesto, y no basura arcaica de java), y el cliente no tiene a nadie para hacer las modificaciones que se necesitan para poder integrarlo. Estoy rogando que encuentren un pobre diablo que tenga ganas de lidiar con esto.


Cita:
Iniciado por abrahamhs Ver Mensaje
escogieron NHibernate
Nadie escogió NHibernate, porque es un proyecto hecho en java y NHibernate es .NET. No. sé de que estas hablando. Yo no hice ningun comentario con respecto a NHibernate, que es un producto buenísimo y muy cómodo de usar, sino de la versión de java, es decir Hibernate, que claramente me estoy dando cuenta que está atascado en 1999 igual que el resto del ecosistema de java.

Cita:
Iniciado por abrahamhs Ver Mensaje
en vez de Linq u o framework c#?
LINQ es una característica del lenguaje C#, y se puede usar perfectamente con NHibernate o de hecho con cualquier backing store, ya que LINQ es agnóstico del origen de los datos.
A diferencia de java, C# es un lenguaje moderno y no te obliga a meter tu código como strings como si fuera 1995.

"framework C#" no tengo ni la menor idea de lo que es. No existe tal cosa. C# es un lenguaje no un framework.

Cita:
Iniciado por abrahamhs Ver Mensaje
La razón es que la mayoria de ORMs C# estan demasiado integrados hacia SQL Server y cuesta trabajo migrar otras bases, cosa que no ocurre con NHibernate.
1 - Esta frase es totalmente contradictoria. NHibernate es un ORM de .NET. Supongo que te referis a Hibernate de java.
2 - Y no, no es verdad que NHibernate no soporte bien otras bases de datos que no sean SQL Server: http://stackoverflow.com/a/7247289/643085

Cita:
Iniciado por abrahamhs Ver Mensaje
Otra cosa también que pasa con C# es que te facilita tanto las cosas que despues no tienes idea de que esta pasando por atras.
Esto es totalmente falso y hasta ridículo. El hecho de que vos no conozcas un lenguaje no quiere decir que yo no lo conozca, y no sepa perfectamente lo que hace, tanto el lenguaje como las APIs del .NET Framework que uso.

Cita:
Iniciado por abrahamhs Ver Mensaje
Por ejemplo, en este codigo:
Código Java:
Ver original
  1. var mayoresDeEdad =
  2.     session.Query<Persona>()
  3.            .Where(x => x.Edad > 30)
  4.            .ToList();
¿Sabes cual es el tipo real de mayoresDeEdad?
Claro que lo sé. Es un List<Persona>, y no porque adivine, sino que estoy usando un lenguaje moderno que no me obliga a duplicar informacion. El compilador de java, en cambio, parece un nene retrasado, tenés que repetirle las cosas 10 veces para que las entienda.

Cita:
Iniciado por abrahamhs Ver Mensaje
Y la respuesta es que no lo sabes porque usar var, es como usar el variant de visual basic
Esto es totalmente falso y demuestra tu falta total de conocimiento del lenguaje C#, y de hecho de cualquier lenguaje moderno. Kotlin, Swift, F#, Scala y cualquier lenguaje moderno tienen esta característica. No todos vivimos en 1995.

Cita:
Iniciado por abrahamhs Ver Mensaje
que toma el tipo de dato que mejor le acomoda segun el caso. Es decir estas usando C# al estilo visual basic y no al estilo C#.
Incorrecto. var es inferencia de tipos, y no duck typing. Aprendé la diferencia entre esas 2 cosas:
- var es estáticamente tipado y toma el tipo que resulta de la asignacion. El compilador no necesita que yo le diga que ese objeto es un List<Person> porque es lo suficientemente inteligente para darse cuenta solito (a diferencia del compilador de java, que parece un nene retrasado). Esto no quiere decir que el objeto pueda pasar de ese tipo a un tipo diferente, en ningun caso.
- Duck Typing es cuando un objeto no tiene una forma estricta y se puede adaptar a cualquier caso segun se necesite. Por supuesto este NO es el caso de usar var en C#, sino lo que hacen lenguajes dinamicos como Ruby o Javascript.

Cita:
Iniciado por abrahamhs Ver Mensaje
Mucha gente se queja de java de que es muy verboso
Yo me quejo de java porque es un lenguaje incapaz de expresar las ideas de una forma clara, concisa y sin ruido idiota en el medio. Mi ejemplo de LINQ demuestra lo que es un lenguaje que no tiene ruido, mientras que los ejemplos que me han presentado en java, tanto de Criteria como usar un string para el SQL (o como se llame) tienen enormes desventajas.

Cita:
Iniciado por abrahamhs Ver Mensaje
yo lo veo como algo bueno, porque eso obliga a los programadores novatos a hacer bien las cosas.
No, la verdad que no. Un lenguaje inexpresivo e incapaz no te "obliga a hacer bien" nada, sino que te obliga a introducir ruido inútil en lugar de código que realmente tenga algún valor.

Por otro lado, es bastante discutible la filosofía de que un lenguaje de programación se tiene que adaptar a las necesidades de los "novatos", yendo en contra de la expresividad y productividad que necesitan los programadores experimentados.

Cita:
Iniciado por abrahamhs Ver Mensaje
Y si no me crees pregunta a los que programan PHP
Irrelevante. PHP es un lenguaje dinámico y los lenguajes dinámicos tienen otra filosofía de diseño diferente. No me interesa lo que haga o deje de hacer PHP, con el que gracias a Dios ya no tengo que lidiar. Me interesa poder hacer los arreglos que tengo que hacer en este proyecto usando algo que medianamente se parezca a lo que se usa hoy, en 2017, y no tener que usar algo que parece sacado de una pelicula de la edad media.
  #9 (permalink)  
Antiguo 28/02/2017, 20:06
 
Fecha de Ingreso: enero-2009
Ubicación: Kandor
Mensajes: 209
Antigüedad: 15 años, 2 meses
Puntos: 11
Respuesta: Alguna API de Hibernate para hacer queries en java que no me haga querer s

Bueno no se puede ayudar a quien no quiere ayuda. Con razón dejarón de seguir el hilo.

http://www.tiobe.com/tiobe-index/

http://spectrum.ieee.org/computing/s...ming-languages
  #10 (permalink)  
Antiguo 28/02/2017, 20:11
(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 abrahamhs Ver Mensaje
Bueno no se puede ayudar a quien no quiere ayuda.
Yo si quiero ayuda, pero tu ayuda es insuficiente. Yo pedi una API moderna y lo unico que me estas contestando es con lo mismo que ya sabia, y que encima, de moderno no tiene nada.

Irrelevante. Ninguna de esas estadisticas de dudosa veracidad cambia el hecho de que java como lenguaje deja muchisimo que desear.
  #11 (permalink)  
Antiguo 02/03/2017, 23:30
Avatar de pablor21  
Fecha de Ingreso: noviembre-2008
Ubicación: Montevideo - Uruguay
Mensajes: 197
Antigüedad: 15 años, 5 meses
Puntos: 13
Respuesta: Alguna API de Hibernate para hacer queries en java que no me haga querer s

La respuesta es concisa y fácil, pero eso seguro que ya lo sabías: no, no hay tal cual buscas, por lo que no se te van a ir las ganas incontrolables de autoeliminarte, que se ven claramente con sólo leer dos palabras de tus mensajes en este hilo. Un saludo!
__________________
Desarrolloador Freelance - http://www.mvdit.com.uy
  #12 (permalink)  
Antiguo 02/03/2017, 23:50
(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 pablor21 Ver Mensaje
La respuesta es concisa y fácil, pero eso seguro que ya lo sabías: no, no hay tal cual buscas, por lo que no se te van a ir las ganas incontrolables de autoeliminarte, que se ven claramente con sólo leer dos palabras de tus mensajes en este hilo. Un saludo!
Otro ataque ad-hominem.

Explicame por favor tu afirmacion acerca de las "ganas incontrolables de autoeliminarme" cuando yo claramente no hice ningun ataque hacia ninguna persona, y de hecho no dije nada que no fuera cierto ni técnicamente correcto, en todo el thread.

Demostrar de manera fehaciente la inferioridad y falta de modernidad de tu lenguaje preferido no constituye ataque alguno, sino mas bien una ayuda, porque como veo por una respuesta anterior, la gente que programa en java en muchos casos no tiene ni idea de cómo son los lenguajes modernos (y es obvio, sino no seguiría programando en java). No veo cual seria concretamente el motivo por el que se me deberia eliminar.

Te comento por si no estas al tanto:

Existe jooq (https://www.jooq.org) que permite escribir SQL de una forma mucho mas estaticamente tipada en java, y tambien Speedment (https://github.com/speedment/speedment#examples) que utiliza las (honestamente pobres) características funcionales de java 8 y tiene una API bastante mas tolerable que cualquier de las opciones de Hibernate.

Claro que ninguna de estas soluciones es una opcion para mi, porque no son compatibles con hibernate, y no pienso reescribir el acceso a datos de una aplicacion hecha en java, ni por todo el oro del planeta.

Tambien existe Kotlin (https://kotlinlang.org/) que es un lenguaje moderno (a diferencia de java) y bien diseñado (a diferencia de java) que corre sobre la JVM y es 100% compatible y practicamente transparente para integrar en cualquier proyecto java. La ausencia de alguna de estas soluciones (sobre todo esta ultima) en proyectos java escritos despues del 2014/15 denota un nivel de ignorancia abrumador por parte de los desarrolladores.

Última edición por agleiva; 02/03/2017 a las 23:58
  #13 (permalink)  
Antiguo 03/03/2017, 00:10
Avatar de pablor21  
Fecha de Ingreso: noviembre-2008
Ubicación: Montevideo - Uruguay
Mensajes: 197
Antigüedad: 15 años, 5 meses
Puntos: 13
Respuesta: Alguna API de Hibernate para hacer queries en java que no me haga querer s

Gracias por el aporte a toda la comunidad java, seguramente la gente de google, ibm, oracle y demás empresas pequeñitas, están tomando nota y desarrollando planes urgentes de cambio de lenguaje de sus sistemas y cambiando a todos sus ingenieros por no haberse enterado antes de la existencia de lenguajes más modernos....
Ahora, hablando un poco en serio, mi mensaje anterior era una broma, más allá de la predilección que alguien tenga por uno u otro lenguaje, lo bueno es que hay para todos los gustos, aún hay MUCHA gente que programa c, o c++ (me incluyo) y está muy contenta co ello, y eso es genial, tener posibilidades de trababajo, y ganar dinero y vivir haciendo lo que le gusta y disfruta.
La tecnología avanza rápidamente, pero si te fijas, hay tecnologías o lenguajes de programación que no mueren, y no van a morir en el mediano plazo puesto que sus huellas son muy fuertes, ese es el caso de c o c++ o java o php son lenguajes muy arraigados y no mueren, estan por todos lados, casi todo está construido sobre ellos, sistemas operativos, suites de ofimáticas, editores gráficos, juegos, de todo, revisa las estadísticas de donde sea, y verás lo que te digo... Arremeter contra java en particular no parece algo muy inteligente, sin ofender, pero con el boom de los smart phones y smart tvs java está mas vivo que nunca... lo siento
__________________
Desarrolloador Freelance - http://www.mvdit.com.uy
  #14 (permalink)  
Antiguo 03/03/2017, 00:31
(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 pablor21 Ver Mensaje
Gracias por el aporte a toda la comunidad java, seguramente la gente de google, ibm, oracle y demás empresas pequeñitas, están tomando nota y desarrollando planes urgentes de cambio de lenguaje de sus sistemas y cambiando a todos sus ingenieros por no haberse enterado antes de la existencia de lenguajes más modernos....
Irrelevante. Esas empresas con presupuestos ilimitados se podrian dar el lujo de hacer todos sus sistemas en binario puro si quisieran, justamente porque tienen presupuesto ilimitado. Yo soy parte de un equipo de 2 personas y no puedo darme el lujo de perder tiempo con las idioteces de un lenguaje que es un dinosaurio patético y utiliza practicas de hace 25 años.

Cita:
Iniciado por pablor21 Ver Mensaje
Ahora, hablando un poco en serio, mi mensaje anterior era una broma, más allá de la predilección que alguien tenga por uno u otro lenguaje, lo bueno es que hay para todos los gustos, aún hay MUCHA gente que programa c, o c++ (me incluyo) y está muy contenta co ello, y eso es genial, tener posibilidades de trababajo, y ganar dinero y vivir haciendo lo que le gusta y disfruta.
Irrelevante. Tu gusto u opinión no es requerida en mi pregunta. Yo pregunté si existe una alternativa de este siglo para acceso a datos en java.

Cita:
Iniciado por pablor21 Ver Mensaje
La tecnología avanza rápidamente, pero si te fijas, hay tecnologías o lenguajes de programación que no mueren, y no van a morir en el mediano plazo puesto que sus huellas son muy fuertes, ese es el caso de c o c++ o java o php son lenguajes muy arraigados y no mueren, estan por todos lados, casi todo está construido sobre ellos, sistemas operativos, suites de ofimáticas, editores gráficos, juegos, de todo, revisa las estadísticas de donde sea, y verás lo que te digo
Irrelevante. Esta afirmación de hecho favorece mi postura de que java es un lenguaje legacy, comparable con Cobol, que también "esta en todos lados y hay muchas cosas construidas con ello". Esto no quiere decir que alguien que haga un proyecto para una pequeña empresa en 2014/2015 lo vaya a hacer con java, ya que existen alternativas infinitamente mejores (objetiva y tecnicamente mejores, sin lugar a opiniones, como Kotlin)

Cita:
Iniciado por pablor21 Ver Mensaje
Arremeter contra java en particular no parece algo muy inteligente, sin ofender
Yo no "arremeto" contra nada. Hice una pregunta porque necesito resolver esta basura de proyecto.

Cita:
Iniciado por pablor21 Ver Mensaje
con el boom de los smart phones y smart tvs java está mas vivo que nunca...
Irrelevante. Nada de eso cambia el hecho de que es un lenguaje inferior. Y por cierto, java no corre en iOS, C# si, asi que no se de que "boom" me hablas, cuando la plataforma mobile mas prestigiosa no soporta java.
Una version limitada de java (eso tiene que ser realmente horrible) que ni siquiera es el "verdadero" java corre en una plataforma tercermundista como Android, la cual se sabe que tenia horrendos problemas de performance, consumo de bateria, y crasheos constantes, hasta que inventaron una forma de compilar el supuesto java que no es java, a codigo nativo de antemano para cada device. Ni hablemos del hecho de que google se comio un juicio de la hostia por usar java, cosa que no hubiera pasado si hubieran usado C#, como tampoco hubieran tenido esos problemas de rendimiento, cosa que se demuestra en el experimento de Xobotos.

En fin, java atrasa 10 años en todo lo que toca.
  #15 (permalink)  
Antiguo 03/03/2017, 00:58
Avatar de pablor21  
Fecha de Ingreso: noviembre-2008
Ubicación: Montevideo - Uruguay
Mensajes: 197
Antigüedad: 15 años, 5 meses
Puntos: 13
Respuesta: Alguna API de Hibernate para hacer queries en java que no me haga querer s

En fin, dadas las crcunstancias, creo que no vas a encontrar la respuesta que buscas, como dice el querido Dolina, la respuesta correcta, teniendo en cuenta la forma de formularla por parte de quien la formuló, hubiese sido desde un principio la misma: "no estoy de acuerdo con los términos de la pregunta". Te deseo buena suerte con tu proyecto y que te sea leve, espero que pronto puedas trabajar con c# que tanto te gusta (a mí no me incomoda tampoco a decir verdad, sólo que prefiero otro) porque creo que estas a punto de tener una úlcera....
__________________
Desarrolloador Freelance - http://www.mvdit.com.uy
  #16 (permalink)  
Antiguo 03/03/2017, 01:03
(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 pablor21 Ver Mensaje
En fin, dadas las crcunstancias, creo que no vas a encontrar la respuesta que buscas, como dice el querido Dolina, la respuesta correcta, teniendo en cuenta la forma de formularla por parte de quien la formuló, hubiese sido desde un principio la misma: "no estoy de acuerdo con los términos de la pregunta". Te deseo buena suerte con tu proyecto y que te sea leve, espero que pronto puedas trabajar con c# que tanto te gusta (a mí no me incomoda tampoco a decir verdad, sólo que prefiero otro) porque creo que estas a punto de tener una úlcera....
Gracias. Es notable el sidestepping de tu respuesta, que efectivamente evade los argumentos que te acabo de dar acerca de por que java es objetivamente inferior a cualquier lenguaje moderno, incluso para el desarrollo mobile que mencionás, pero bueno.

Si "no estas de acuerdo con los terminos de la pregunta" al menos podrias explicar que parte de los terminos de la pregunta te parece incorrecto / falaz / impreciso. Es posible que yo este equivocado en mi razonamiento de pretender que un lenguaje tan utilizado por empresas tan importantes tenga una forma decente y tolerable de hacer algo tan sencillo y común como usar un ORM, cosa que en cualquier otra plataforma (no solo .Net) está resuelto correctamente hace más de 10 años.
  #17 (permalink)  
Antiguo 03/03/2017, 10:26
 
Fecha de Ingreso: noviembre-2015
Mensajes: 23
Antigüedad: 8 años, 5 meses
Puntos: 2
Respuesta: Alguna API de Hibernate para hacer queries en java que no me haga querer s

Yo la solución la veo clara, escribe "edad" en vez de "edda".
  #18 (permalink)  
Antiguo 03/03/2017, 15:33
(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 Jaime_Alons Ver Mensaje
Yo la solución la veo clara, escribe "edad" en vez de "edda".
O sea que tengo que hacer yo el trabajo que deberia hacer el compilador. Claro, el compilador de java es demasiado retardado para pedirle que algo tan complejo como no obligarme a usar string typing. Genial.
  #19 (permalink)  
Antiguo 04/04/2017, 09:30
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Alguna API de Hibernate para hacer queries en java que no me haga querer s

Os estáis dejando enredar por un troll.

Sí, sé que este post no aporta nada al creador, pero sí lo aportará a los que intentan ayudar a quien busca generar polémica a que dejen de perder el tiempo.

"Fin de la cita"
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}

Etiquetas: alguna, api, hibernate, mayor, queries, set, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 06:17.