Ajuda com classes de entidade

seguinte pessoal estou com uma duvida que se resume no seguinte

tenho uma tabela pessoas e uma tabela telefones

a tabela telefones tem um id proprio do tipo bit e o id do cliente (chave estrangeira)

como faria para salvar um telefone, sendo que eu teria que salvar a pessoa primeiro e pegar o id
desta pessoa para salvar os telefones , bom por via de gambiarra até sei fazer daria um get MAX la e beleza
porém queria saber se tem como eu salvar os telefones usando um generator ou coisa do tipo com annotations ou outro…

Com annotations ficaria mais ou menos assim:

@Entity @Table(name = "NOME_TABELA_BANCO") @SequenceGenerator(name = "SEQ_TABELA", sequenceName = "SEQ_TABELA") public class Tabela extends IId { @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_TABELA") @Column(name = "NOME DA COLUNA") private Integer id;
}

Veja se isso te ajuda em algo. Detalhe…o banco utilizado neste modelo é o Oracle…

Qualquer dúvida posta aí…

Abrax.

entao como eu faria pra passar o codigo gerado aí para a tabela de telefones por exemplo
como uma herança sabe mas sei que herança tem como fazer com jpa to testando isso e

aparentemente, me corrija se eu estiver errado, como uso mysql esse seqgenerator nao funciona muito certo
porem notei que é necessária uma table como nome de sequence no banco
com a sequencia registrada na tabela, nao sei certo pq cada vez que rodo da um
negocio diferente

Se vc ta usando hibernate não se preocupa com isso. Se configurou o relacionamento corretamente, seja por annotattions ou por xml, basta que a sua entidade telefone tenha um atrbuto cliente para saber de quem é (ou o contrário). Ai quando vc mandar salvar o hibernate se vira pra deixar tudo certinho.

tipo não estou usando hibernate não , porem acho que o problema é esse mesmo pq no telefone ta o id int e nao um objeto pessoa, vou tentar e posto aqui o resultado.

mudei a classe telefonePK para isso:

[code]@Embeddable
public class TelefonePK extends TelefonePKDAO implements Serializable {
@Column(name = “tel_codigo”, nullable = false)
private boolean telCodigo;

@ManyToOne
@JoinColumn(name="pes_codigo",referencedColumnName="pes_codigo")
private Pessoa pesCodigo;


[/code]

mas ta dando um erro :

[quote]Exception [TOPLINK-93] (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.DescriptorException
Exception Description: The table [telefones] is not present in this descriptor.
Descriptor: RelationalDescriptor(bean.Pessoa --> [DatabaseTable(pessoas)])

[/quote]

bom galera se alguem puder me ajudar nessa pq desse erro nao tem muita coisa no google não