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 original- public 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.