Id antes de persistir

Olá a todos.

Estou com uma dúvida. Existe a possibilidade de obter o ID de uma entity ANTES de persistir o objeto? Ou seja, assim que eu instanciar uma entity, gostaria de ser capaz de já obter um @id.

@Id @GeneratedValue(strategy = GenerationType.AUTO) private Integer id;
Desta forma eu obtenho o ID apenas quando rodo o persist.

Procurei em todos os lugares e não encontrei nada sobre esta possibilidade.

Agradecido!

Se o ID for gerado pelo banco você só consegue na hora de persistir. Se for uma sequence você vai ter que fazer a consulta de banco para pegar o próximo valor de sequence disponível. Mas cuidado com essa estratégia… O melhor para o seu caso seria usar uma chave natural mesmo então.

Qual SGDB está usando? Está usando Hibernate puro ou JPA? Dá uma olhada nas soluções com exemplos aqui: http://stackoverflow.com/questions/6386888/get-next-sequence-value-from-database-using-hibernate Ou pesquise por algo próximo.

Obrigado pelas respostas… Vi que da para fazer isso antes sim, mas vai me dar um trabalhão que não compensa! Abraços!

Edit: Ah, estou usando JPA