Olá, amigos!
Estou com um pequeno problema qdo executo a classe GeraBanco. Ocorre um erro em uma de minhas anotações.
Erro:
Exception in thread "main" org.hibernate.AnnotationException: mappedBy reference an unknown target entity property: br.com.guaicurus.modelo.Requisicao.forma_pagamento in br.com.guaicurus.modelo.FormaPagamento.requisicao
at org.hibernate.cfg.annotations.CollectionBinder.bindStarToManySecondPass(CollectionBinder.java:578)
at org.hibernate.cfg.annotations.CollectionBinder$1.secondPass(CollectionBinder.java:543)
at org.hibernate.cfg.CollectionSecondPass.doSecondPass(CollectionSecondPass.java:66)
at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1163)
at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:329)
at org.hibernate.cfg.Configuration.generateDropSchemaScript(Configuration.java:789)
at org.hibernate.tool.hbm2ddl.SchemaExport.<init>(SchemaExport.java:128)
at org.hibernate.tool.hbm2ddl.SchemaExport.<init>(SchemaExport.java:91)
at br.com.guaicurus.util.GeraBanco.main(GeraBanco.java:21)
Uma requisicão deve conter uma forma de pagamento, enquanto uma forma de pagamento pode estar em varias requisiçoes.
Na classe FormaPagamento :
@OneToMany(mappedBy="forma_pagamento", fetch=FetchType.LAZY)
@Cascade(CascadeType.ALL)
private Collection<Requisicao> requisicao;
Na classe Requisição :
@ManyToOne(fetch=FetchType.EAGER)
@JoinColumn(name="id_forma_pagamento", insertable=true, updatable=true)
@Fetch(FetchMode.JOIN)
@Cascade(CascadeType.SAVE_UPDATE)
private FormaPagamento formaPagamento;
Estou fazendo certo?