Esse é um assunto interessante, ai existe a separação de conceitos no pensamento de negócio e de OOBD.
Se voce analisar no nivel de um OODB, seu OID, identificador usado pra diferenciar os objetos armazenados, sempre estará lá, atrelado ao seu objeto.
Mas se pensar no nivel de negócio, onde a abstração é maior e levar o conceito de Entity, tal como o Hibernate usa, a serio, voce precisará de uma identidade pra essa entidade, é o que a caracteriza.
Creio que voce queira’aproveitar’ esse OID e tratá-lo tanto como um identificador fisico, quanto uma identidade.
É mais fácil voce criar um objeto a parte, que guarde essas coisas, tipo o ID, por que voce só conseguir pegar o OID depois que o objeto foi persistido
Agora se quiser diferencia-lo no nivel de negocio sao outros 500…
Aliás…me senti um filósofo viajante agora. =P