System.out.println(new RandomDataImpl().nextSecureInt(1, 50));
System.out.println(new RandomDataImpl().nextSecureHexString(20));
System.out.println(new RandomDataImpl().nextSecureLong(1, 50000000));
usando o Commons Math você tem a disposição no minimo esses 3 métodos básicos.
os parametros são usados para definir um valor entre, e ou um valor máximo gerado.
E não sabemos o que vc quer com código automatico.
mas geralmente vc gera isso no java e joga o valor gerado/criado num insert para a sua tabela.
a saída no meu caso/codigo foi:
8
6bf75c1b34692fc493cb
15568420
No seu caso com ovc quer numeros aleatorios de 4 digitos eu recomendo isto:
System.out.println(new RandomDataImpl().nextSecureInt(1000, 9999));
Que vai gerar números entre 1000 e 9999.
Mas te pergunto se ao ives de aleatorios eles não deveriam ser sequenciais. já que no segundo caso te evita de ficar testando se a matricula já existe no banco.
Matricula = Ano+Total de Matriculados+1
e
Já no caso da data:
public static String getAno(){
Date data = new Date();
return ""+(data.getYear()+1900);
}
isso retorna uma String de uma Data atual (mas apenas o ano)
Está usando o Date que está em desuso. mas funciona.
o resto é com vc! =)