amigos, to tentando fazer uma consulta por criteria… mas no relacionamento ta dando o seguinte erro: como to começando no hibernate, não to conseguindo resolver…alguem pode dar um help??..agradeço desde jah…
Exception in thread "AWT-EventQueue-0" javax.persistence.PersistenceException: [PersistenceUnit: orcamentoPU] Unable to configure EntityManagerFactory
at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:265)
at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:125)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:51)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)
at orcamento.Conectar.getsession(Conectar.java:24)
at orcamento.Consultas.<init>(Consultas.java:28)
at orcamento.inicioJF.<init>(inicioJF.java:349)
at orcamento.inicioJF$25.run(inicioJF.java:905)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: org.hibernate.AnnotationException: mappedBy reference an unknown target entity property: tabelas.ConsOrcamento.COD_CONTA in tabelas.TbrjCadContas.consOrcamentoList
at org.hibernate.cfg.annotations.CollectionBinder.bindStarToManySecondPass(CollectionBinder.java:576)
at org.hibernate.cfg.annotations.CollectionBinder$1.secondPass(CollectionBinder.java:541)
at org.hibernate.cfg.CollectionSecondPass.doSecondPass(CollectionSecondPass.java:43)
at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1130)
at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:324)
at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:1115)
at org.hibernate.ejb.Ejb3Configuration.buildMappings(Ejb3Configuration.java:1225)
at org.hibernate.ejb.EventListenerConfigurator.configure(EventListenerConfigurator.java:159)
at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:854)
at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:191)
at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:253)
... 15 more
segue a consulta e as 2 classes das tabelas…
crit = sess.createCriteria(ConsOrcamento.class)
.setFetchMode("TbrjCadContas", FetchMode.JOIN)
.add(Restrictions.like("ctCusto", "8%"))
.add(Restrictions.eq("mes", mes));
@Entity
@Table(name = "ConsOrcamento")
@XmlRootElement
public class ConsOrcamento implements Serializable {
private static final long serialVersionUID = 1L;
@Column(name = "DT")
@Temporal(TemporalType.DATE)
private Date dt;
@Column(name = "MES")
private Long mes;
@Id
@Column(name = "COD_CONTA")
@ManyToOne (targetEntity = tabelas.TbrjCadContas.class,fetch=FetchType.EAGER )
private BigInteger codConta;
@Size(max = 45)
@Column(name = "FORNECEDOR")
private String fornecedor;
@Column(name = "ORCADO")
private Float orcado;
@Column(name = "GASTO")
private Double gasto;
@Size(max = 45)
@Column(name = "CT_CUSTO")
private String ctCusto;
@Column(name = "EMPRESA")
private Integer empresa;
public ConsOrcamento() {
}
public Date getDt() {
return dt;
}
public void setDt(Date dt) {
this.dt = dt;
}
public Long getMes() {
return mes;
}
public void setMes(Long mes) {
this.mes = mes;
}
public BigInteger getCodConta() {
return codConta;
}
public void setCodConta(BigInteger codConta) {
this.codConta = codConta;
}
public String getFornecedor() {
return fornecedor;
}
public void setFornecedor(String fornecedor) {
this.fornecedor = fornecedor;
}
public Float getOrcado() {
return orcado;
}
public void setOrcado(Float orcado) {
this.orcado = orcado;
}
public Double getGasto() {
return gasto;
}
public void setGasto(Double gasto) {
this.gasto = gasto;
}
public String getCtCusto() {
return ctCusto;
}
public void setCtCusto(String ctCusto) {
this.ctCusto = ctCusto;
}
public Integer getEmpresa() {
return empresa;
}
public void setEmpresa(Integer empresa) {
this.empresa = empresa;
}
}
@Entity
@Table(name = "TBRJ_CAD_CONTAS")
public class TbrjCadContas implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "idTBRJ_CAD_CONTAS")
private Integer idTBRJCADCONTAS;
@Column(name = "COD_CONTA")
@OneToMany(targetEntity = tabelas.ConsOrcamento.class, mappedBy = "COD_CONTA" )
private List<ConsOrcamento> consOrcamentoList;
private BigInteger codConta;
@Column(name = "CONTA")
private String conta;
@Column(name = "NATUREZA")
private String natureza;
public TbrjCadContas() {
}
public TbrjCadContas(Integer idTBRJCADCONTAS) {
this.idTBRJCADCONTAS = idTBRJCADCONTAS;
}
public Integer getIdTBRJCADCONTAS() {
return idTBRJCADCONTAS;
}
public void setIdTBRJCADCONTAS(Integer idTBRJCADCONTAS) {
this.idTBRJCADCONTAS = idTBRJCADCONTAS;
}
public BigInteger getCodConta() {
return codConta;
}
public void setCodConta(BigInteger codConta) {
this.codConta = codConta;
}
public String getConta() {
return conta;
}
public void setConta(String conta) {
this.conta = conta;
}
public String getNatureza() {
return natureza;
}
public void setNatureza(String natureza) {
this.natureza = natureza;
}
public List<ConsOrcamento> getconsOrcamentoList() {
return consOrcamentoList;
}
public void setconsOrcamentoList(List<ConsOrcamento> consOrcamentoList) {
this.consOrcamentoList = consOrcamentoList;
}
@Override
public int hashCode() {
int hash = 0;
hash += (idTBRJCADCONTAS != null ? idTBRJCADCONTAS.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are not set
if (!(object instanceof TbrjCadContas)) {
return false;
}
TbrjCadContas other = (TbrjCadContas) object;
if ((this.idTBRJCADCONTAS == null && other.idTBRJCADCONTAS != null) || (this.idTBRJCADCONTAS != null && !this.idTBRJCADCONTAS.equals(other.idTBRJCADCONTAS))) {
return false;
}
return true;
}
@Override
public String toString() {
return "tabelas.TbrjCadContas[idTBRJCADCONTAS=" + idTBRJCADCONTAS + "]";
}
}