Bom dia!!
No meu caso, uma Pessoa pode ter vários Enderecos
o id de pessoa faz parte da Pk de Enderecos.
como Endereco tem um compositeId, criei uma outra classe chamada EnderecoPk, que contém o id de pessoa e o id de endereco
o meu problema é que eu gostaria que o id de endereco fosse auto-incremento, só que quando tento inserir, ele fala que tem que ser feito na mão a inserção do número…
alguém sabe o que posso fazer pra fazer auto-incremento nesse caso?!!! valeu!!
obs: eu tentei colocar generatedValue(strategy=AUTO) no EnderecoPk e não deu certo.
exemplo:
//classe Pessoa
@Entity
@Table(name="Pessoa")
public class PessoaBean implements Serializable {
@Id @GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="codigo")
private Integer id;
@Column(nullable=false)
private String nome;
@Column(nullable=false)
private String sobreNome;
@Column(nullable=false)
private String dtNascimento;
@Column(nullable=false)
private String email;
@OneToMany(mappedBy="pessoa", cascade=CascadeType.ALL)
private List<EnderecoBean> enderecos = new ArrayList<EnderecoBean>();
// getters and setters
}
// classe Endereco
@Entity
@Table(name="Endereco")
public class EnderecoBean implements Serializable {
@EmbeddedId
private EnderecoPk pk = new EnderecoPk();
private String logradouro;
private String numLogradouro;
private String cep;
@ManyToOne
@JoinColumn(name="pessoaId", referencedColumnName="codigo", insertable=false, updatable=false)
private PessoaBean pessoa;
//getters and setters
}
//PK de Endereco
@Embeddable
public class EnderecoPk implements Serializable {
@Column(name="pessoaId")
private Integer id;
@Column(name="enderecoId")
private Integer id3;
public EnderecoPk(){}
//getters and setters
//equals and hashcode
}
grato!