Asignación de entidad a diferentes tablas según ciertas condiciones

Es posible que desee crear un planificador de cuarzo para esta tarea. Aquí está el Jobpara el planificador

public class DatabaseBackupJob implements Job {
    public void execute(JobExecutionContext jec) throws JobExecutionException {
        Configuration cfg=new Configuration();
        cfg.configure("hibernate.cfg.xml");
        Session session = cfg.buildSessionFactory().openSession();
        Query q = session.createQuery("insert into Tab_Transaction_History(trans) select t.trans as trans from Tab_Transaction t where t.date < :date")
        .setParameter("date", reqDate);
        try{
           Trasaction t = session.beginTransaction();
           q.executeNonQuery();
           t.commit();
        } catch(Exception e){
        } finally {
           session.close();
        }
    }

}

PS hibernate no proporciona un planificador, por lo que no puede realizar esta actividad utilizando core hibernate y, por lo tanto, necesita API externas como el planificador de cuarzo

Respuesta 1

La solución que busca puede lograrse solo si confía en DOS contextos de persistencia diferentes, creo.

Un solo contexto de persistencia asigna entidades a tablas de forma no dinámica, por lo que no puede realizar un "cambio de tiempo de ejecución" de una tabla asignada a otra. Pero puede crear un contexto de persistencia diferente (o una configuración paralela en hibernación en lugar de usar 2 contextos diferentes), luego cargar esta nueva configuración en un EntityManager diferente y realizar todas sus tareas.

Esa es la única solución que viene a la mente, por el momento. Realmente no sé si es adecuado ...

Respuesta: 2

Creo que es una buena idea ejecutar el script cada 24 horas. Podrías disminuir el intervalo si no estás contento.

Pero si ya tiene un script de trabajo, ¿dónde está su problema real? Creo que verificar la antigüedad de todas las transacciones y mover las que tienen más de 30 días a otra lista o mapa es la mejor manera.

Respuesta: 3

Tengo un montón de activos públicos que me gustaría comprimir y proporcionar para descargar. ¿Hay una manera fácil en Play! crear un zip para una lista de archivos / carpetas?

Tengo un gran problema al intentar solucionar este código, sigo recibiendo un error masivo: Excepción en el hilo "AWT-EventQueue-1" java.lang.NullPointerException en com.allcare.arfile.CloudStoreInfo ...

¿Los métodos "públicos" o "protegidos" no hacen ninguna diferencia para una clase privada anidada que no implementa ninguna interfaz ...? Si una clase privada anidada no implementa ninguna interfaz o ...

Estoy usando eclipse 32bit en mi oficina y estoy desarrollando un código java para analizar JavaAST, pero cuando intento ejecutar el programa en casa obtengo esta excepción. También estoy proporcionando donde el ...