Tengo 5 tablas MySQL InnoDB: Test,InputInvoice,InputLine,OutputInvoice,OutputLine
y cada una está mapeada y funciona en Hibernate. He jugado con el uso de StatelessSession/Session y el tamaño de lote JDBC. He eliminado todas las clases de generador para permitir que MySQL maneje la generación de id, pero todavía está funcionando bastante lento. Cada una de esas tablas está representada en una clase java, y asignadas en hibernación en consecuencia. Actualmente, cuando llega el momento de escribir los datos, recorro los objetos y hago un session.save(Object)
o session.insert(Object)
si estoy usando StatelessSession. También hago una descarga y limpieza (cuando uso la sesión) cuando mi conteo de líneas alcanza el tamaño máximo de lote jdbc (50).Mapeo de relaciones Hibernate/Insertos por lotes acelerados
- ¿Sería más rápido si tuviera esto en una clase 'padre' que contenía los objetos e hizo un
session.save(master)
en lugar de cada uno de ellos? - Si los tuviera en una clase maestra/contenedor, ¿cómo mapearía eso en hibernación para reflejar la relación? La clase contenedor no sería una tabla propia, sino una relación basada en dos índices run_id (int) y line (int).
- Otra dirección sería: ¿Cómo puedo obtener Hibernate para hacer una inserción de varias filas?
me olvidó mencionar que cada una de esas mesas tiene muchas columnas – ashurexm