Meus caros,
estou aprendendo a usar o hibernate, e meu projeto tá dando esse erro:
Exception in thread "main" org.hibernate.AnnotationException: Use of @OneToMany or @ManyToMany targeting an unmapped class: negocio.Pav.combustiveis[negocio.Combustivel]
at BLABLABLA
O que eu não entendo é que, até onde eu sei, uma classe enum não precisa ser mapeada. Aí eu me pergunto: eu não posso ter uma coleção de enums? e se posso: como é que se identifica isso pro hibernate??
Obs: Pav é um "Pedido de Abastecimento de Veículo", que tem um veículo, um motorista e uma coleção de combustíveis(para carros flex), entre outras informações.
@Entity
public class Pav {
@OneToOne
Posto posto;
@OneToOne
Pessoa motorista;
@OneToMany()
@Cascade(CascadeType.SAVE_UPDATE)
//Combustível é uma enum. tem q botar @Enumerated?
private Set<Combustivel> combustiveis = new HashSet<Combustivel>();
@OneToOne
Veiculo veiculo;
@OneToOne
CentroDeCusto cc;
@OneToMany()
@Cascade(CascadeType.SAVE_UPDATE)
private Set<Lubrificante> lubrificantes = new HashSet<Lubrificante>();
Date dtAbastecimento;
int quilometragemVeiculo;
int quantCombustivel;
double valorUnitarioCombustivel;
double valorTotalAbastecimento;
double quantLubrificante;
double valorUnitarioLubrificante;
double valorTotalLubrificante;
double totalGeral;
@Id
int idPav;
//construtor e métodos
}
public enum Combustivel {
ALCOOL() {
public String extenso() {
return "Alcool";
}
},
BIODIESEL() {
public String extenso() {
return "Biodiesel";
}
},
DIESEL() {
public String extenso() {
return "Diesel";
}
},
GAS() {
public String extenso() {
return "Gás";
}
},
GASOLINA() {
public String extenso() {
return "Gasolina";
}
};
public String extenso() {
return this.extenso();
}
}
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<mapping class="negocio.Pessoa" />
<mapping class="negocio.Motorista" />
<mapping class="negocio.Funcionario" />
<mapping class="negocio.Veiculo" />
<mapping class="negocio.CentroDeCusto" />
<mapping class="negocio.Posto" />
<mapping class="negocio.Pav" />
<mapping class="negocio.Lubrificante" />
</session-factory>
</hibernate-configuration>