Estou com problemas no relacionamento One-To-One, achei alguns tópicos mas poucos usando annotations.E os que tinham não conseguiram solucionar minha dúvida.
Inclusive consegui a documentação do hibernate em portugues com vários exemplos de relacionamentos só que usando xml…
Minha dúvida acho que é meio básica, mas vamos lá:
Tenho um Usuário só que como são muitos dados, resolvi separar o cadastro em 2, Ficando uma classe Usuario e outra classe Complemento.
Só que na hora que cadastrasse o Usuário já queria vincular ele ao seu Complemento.Pelo que andei lendo seria um relacionamento 1:1
Portanto o código ficaria assim:
Usuario
@Entity
public class Usuario implements java.io.Serializable {
@Id
@GeneratedValue
private Long id;
@OneToOne(cascade=CascadeType.PERSIST)
@JoinColumn
private Complemento complemento;
//getter's and setter's e outros campos
Complemento
@Entity
public class Complemento implements java.io.Serializable {
@EmbeddedId //Vi isso em outro tópico aqui do GUJ para herdar FK de outra classe, preciso disso?
private Usuario id;
//getter's and setter's e outros campos
javax.servlet.ServletException: ids for this class must be manually assigned before calling save(): package.Complemento
O erro diz que o id de complemento deve ser assinado manualmente antes de chamar o save()
Eu acho que deve ser alguma annotation na id da classe Complemento, mas não sei qual delas usar, estou totalmente perdido, vou continuar lendo já que ninguém se dispõe a ajudar…