Como gerar 12 números aleatórios em java?

Estou tentando imprimir um código de barras usando o modelo EAN13, é bem menor que o modelo padrão code128, ele precisa de 12 números para ser uma string valida. Estava olhando o método Random consegui fazer bem com números pequenos, mas para números dessa grandeza não consigo. Usei o método nextLong, mas ele fica me retornando um erro de valor que não é compatível mesmo os valores também sendo long. Alguém sabe como fazer isso?
Obs: os números tem que ser positivos se não dá erro também na hora de gerar o código de barras.

Você quer 12 dígitos aleatórios então ? Porque dígito e número são coisas diferentes.

Verdade vou editar, quero 12 números aleatórios.

    System.out.println("123456789012 - Doze Dígitos \n---------------------------");
    
    for (int i = 0; i < 10; i++) {            
        long dozeDigitos = (long) (100000000000l + Math.random() * 899999999999l);
        System.out.println(dozeDigitos);
     }
import java.util.Random;

public class Exemplo {

    public static void main(String[] args) {
        String numero = gerarDigitosAleatorios(12);
        System.out.println(numero);
    }

    private static String gerarDigitosAleatorios(int digitos) {
        StringBuilder text = new StringBuilder();
        Random random = new Random();
        for (int i = 0; i < digitos; i++) {
            text.append(random.nextInt(10)); // gerar um número aleatório entre 0 e 9
        }
        return text.toString();
    }
}

Valeu cara, muito obrigado meu método estava muito parecido com o seu, vi pelo seu que meu erro foi não converter a sentença em (long).

Muito obrigado, pelo seu método deu certinho também.

Você realmente precisa converter para long?
Se o seu código iniciar com zero, não vai funcionar.

Hum entendo, pelos testes que eu fiz esta funcionando normal, tentei tanto pelo seu quanto pelo do amigo a cima, ambos funcionam. Na verdade não entendi o porque da conversão se todas as variáveis estão em long, mas resolveu o problema.