Si es todo dentro de la misma aplicación, basta con crear una variable estática en cualquier clase. Lo ideal sería hacer una clase como esto.
Código java:
Ver originalpublic class GeneradorIds{
private static int id=0;
public static synchronized void idInicial (int idInicial) {
id=idInicial;
}
public static synchronized int siguienteId() {
return id++;
}
}
En el arranque, lee la base de datos y llama a GeneradorId.idInicial(valor leido de bd)
Cuando necesites un id nuevo en cualquier sitio, simplemente GeneradorId.siguienteId();
Al ser todo static, no es necesario hacer new de la clase. Lo del synchronized, para algo tan tonto como return id++ o id=idInicial no estoy seguro que haga falta, pero por si acaso.
Se bueno.