1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Mapeamento Hibernate sem PrimaryKey

Bom dia pessoal, fiz um mapeamento aqui que não acho adequado para o caso. Possuo uma tabela que vai existir os Telefones de uma certa pessoa. Porém nesse caso acho desnecessário possuir uma chave primaria para cada item. Não posso colocar a chave primaria nem no NUMERO do telefone, nem no ID do relacionamento com a PESSOA. Então como seria a forma adequada para esse caso?

Obrigado desde já.

Segue o mapeamento atual:

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "tel_id", nullable=false)
    private long tel_id;
    @Column(name = "tel_numero", nullable=false)
    private String tel_numero;
    @Column(name = "tel_tipo", nullable=false)
    private int tel_tipo;
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name="pes_id", nullable = false) 
    private Pessoa pes_id;
  • É estranho colocar uma tabela sem PK?

    Mas não é soh tirar tua annotation ID?

    Felipe Flores   29 de abr de 2013
  • Normalmente utilizar uma tabela sem PK não he certo, mas para vc distinguir os valores vc precisa de uma PK nem que seja composta (Nesse caso vc precisa pensar como vc deixaria os telefones de forma unica, o criterio para evitar duplicidades)

    Mickdark   29 de abr de 2013
  • nao necessario é uma PK em uma tabela, pode ser criada tabelas sem PK, se tu nao ira utilizar ela(a PK) tu nao precisa dela

    Felipe Flores   29 de abr de 2013
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

3 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags hibernate ou faça a sua própria pergunta.