java - sequencegenerator - Guardar orden de una lista en JPA
jpa java entity (3)
Tengo la siguiente pregunta sobre JPA:
¿Puedo guardar el orden de los elementos en java.util.List? En mi aplicación, el orden en que coloco elementos en las Listas es importante, pero después de obtener esas colecciones de la base de datos, el orden no es el mismo (como se esperaba). ¿Puedes mostrarme una forma de lidiar con este problema?
PD: No hay un campo en las entidades que coloco en las colecciones por las cuales puedo ordenarlas.
Rosen
Hay algunas formas extravagantes de hacer esto en JPA 1, pero es más fácil cambiar a un proveedor JPA 2. El soporte de la anotación @OrderColumn es lo que estás buscando. Eclipselink tiene un buen tutorial sobre cómo usarlo .
JPA tiene 2 tipos de listas. En JPA1 hay una "lista ordenada" (que es lo que ves, orden definida por alguna cláusula SQL). En JPA2 puede tener "listas ordenadas" o alternativamente "listas indexadas" (donde se preserva el orden de creación) ... se hace referencia al @OrderColumn. Cualquier implementación de JPA2 tendrá que soportar esto, por ejemplo, DataNucleus.
JDO ha tenido listas indexadas desde el día 1
Puede guardar el orden de los elementos en java.util.List. En JPA 2.0, existe una buena manera de guardar el orden del elemento mediante la anotación @OrderColumn.
Para más detalles, puede consultar este enlace Order Column (JPA 2.0)