Boa tarde galera,tenho uma associação entre as classes Publicacao e Arquivo de acordo com os codigos abaixo:
Publicacao.java
Entity
@Table(name="tb_publicacao")
public class Publicacao implements Serializable {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer id;
@OneToOne(mappedBy="publicacao",cascade = {CascadeType.ALL},fetch = FetchType.LAZY)
@PrimaryKeyJoinColumn(name="sq_publicacao")
private Arquivo arquivo;
//outros atributos
@Entity
@Table(name="tb_anexo_publicacao")
public class Arquivo implements Serializable {
@Id
private Integer id;
@OneToOne(fetch = FetchType.LAZY)
private Publicacao publicacao;
//outros atributos
Da forma que o codigo se encontra,qdo tento persisti a classe [b]Publicacao[/b] a seguinte exceção é lançada:
Exception in thread "main" org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save(): testehb.pojo.Arquivo
A chave primaria é compartilhada por ambas as entidades no banco.Gostaria de saber dos colegas como faço para qdo persisitir a classe [b]Publicacao [/b]o hibernate entenda que a sua chave será utilizada pela classe [b]Arquivo [/b]também.Antecipadamente, muito obrigado!!!