Varias veces he querido una estructura de datos que sea similar a una tabla SQL donde puede seleccionar en varios campos y campos múltiples. Similar a una implementación de SQL en memoria, excepto que no quiero almacenar tantos objetos en la estructura de datos.Java en memoria SQL Tabla como estructura de datos
También solicito que el objeto sea serializable a través de los medios estándar de Java.
He hecho esto antes con varias tablas hash o teclas hash personalizadas pero terminó siendo un montón de código y el problema muy específico.
También he usado Groovy con su capacidad de cierre y gpath para ayudar, pero no siempre lo tengo disponible (diferentes proyectos).
EDIT: Creo que mi problema es más de un problema objeto de recorrido/selección He aquí algunos proyectos interesantes:
- http://josql.sourceforge.net/
- http://homepages.mcs.vuw.ac.nz/~djp/JQL/
- http://today.java.net/pub/a/today/2006/08/03/java-object-querying-using-jxpath.html
- http://code.google.com/p/lambdaj/ (I Used esto en el pasado y fue ... lento ...)
- http://jedi.codehaus.org/ Jedi
Sin embargo, la desventaja de la mayoría de estos proyectos es que son mucho más lento que el acceso a los objetos directamente (no reflexión captador/definidor) y definitivamente más lento que un índice (hash).
¿Va a consultar alguna instantánea de datos independiente? ¿Qué hay de multihilo, bloqueo, transacciones, inserciones/actualizaciones? Si es posible alguna de las anteriores, estoy 100% de acuerdo con @Alex. – Osw
@Osw No es solo por comodidad. No necesito la naturaleza ACID de RDBMS. Necesito la capacidad de consulta. –
creo que estos enlaces pueden ser útiles: http://docs.jboss.org/hibernate/core/3.3/reference/en/html/queryhql.html y http://almaer.com/blog/hibernate-3-testing- with-in-memory-pluggable-persistence – Osw