Continuo no meu dilema e agora esta apresentando o seguinte erro:
2012-12-20 22:42:54,546[HH:mm:ss] INFO [Version] Hibernate Annotations 3.4.0.GA
2012-12-20 22:42:54,578[HH:mm:ss] INFO [Environment] Hibernate 3.3.2.GA
2012-12-20 22:42:54,578[HH:mm:ss] INFO [Environment] loaded properties from resource hibernate.properties: {hibernate.connection.driver_class=com.mysql.jdbc.Driver, hibernate.cache.provider_class=org.hibernate.cache.HashtableCacheProvider, hibernate.max_fetch_depth=1, hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect, hibernate.jdbc.use_streams_for_binary=true, hibernate.format_sql=true, hibernate.query.substitutions=yes ‘Y’, no ‘N’, hibernate.proxool.pool_alias=pool1, hibernate.connection.username=root, hibernate.cache.region_prefix=hibernate.test, hibernate.hbm2ddl.auto=update, hibernate.connection.url=jdbc:mysql://localhost/sapatos, hibernate.bytecode.use_reflection_optimizer=false, hibernate.show_sql=true, hibernate.connection.password=****, hibernate.jdbc.batch_versioned_data=true, hibernate.connection.pool_size=1}
2012-12-20 22:42:54,578[HH:mm:ss] INFO [Environment] using java.io streams to persist binary types
2012-12-20 22:42:54,578[HH:mm:ss] INFO [Environment] Bytecode provider name : javassist
2012-12-20 22:42:54,593[HH:mm:ss] INFO [Environment] using JDK 1.4 java.sql.Timestamp handling
2012-12-20 22:42:54,718[HH:mm:ss] INFO [Version] Hibernate Commons Annotations 3.1.0.GA
2012-12-20 22:42:54,734[HH:mm:ss] INFO [HibernateSearchEventListenerRegister] Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled.
2012-12-20 22:42:54,828[HH:mm:ss] INFO [AnnotationBinder] Binding entity from annotated class: br.com.sapatos.sapatos.model.Produto
2012-12-20 22:42:54,875[HH:mm:ss] INFO [EntityBinder] Bind entity br.com.sapatos.sapatos.model.Produto on table Produto
Exception in thread “main” org.hibernate.AnnotationException: @OneToOne or @ManyToOne on br.com.sapatos.sapatos.model.Produto.codigo_produto references an unknown entity: br.com.sapatos.sapatos.model.Sequencia
at org.hibernate.cfg.ToOneFkSecondPass.doSecondPass(ToOneFkSecondPass.java:81)
at org.hibernate.cfg.AnnotationConfiguration.processEndOfQueue(AnnotationConfiguration.java:456)
at org.hibernate.cfg.AnnotationConfiguration.processFkSecondPassInOrder(AnnotationConfiguration.java:438)
at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:309)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1333)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
at br.com.sapatos.sapatos.controller.AdicionaProduto.main(AdicionaProduto.java:20)
Classe Produto:
package br.com.sapatos.sapatos.model;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.OneToOne;
@Entity
public class Produto {
@Id
private Long codigo_barras;
@OneToOne
private Sequencia codigo_produto;
private String cor;
private String modelo;
private String marca;
private String tipo;
private int tamanho;
private char codigo_verificador;
private double preco;
// Construtor - recebe o código de barras
public Produto(Long codigo_barras) {
if (codigo_barras == null) {
throw new IllegalArgumentException(
"Código de barras não pode ser nulo");
} else if (codigo_barras <= 0) {
throw new IllegalArgumentException(
"Código de barras não pode ser negativo");
} else
this.setCodigo_barras(codigo_barras);
}
public Produto(){
}
public String getCor() {
return cor;
}
public void setCor(String cor) {
this.cor = cor;
}
public String getModelo() {
return modelo;
}
public void setModelo(String modelo) {
this.modelo = modelo;
}
public String getTipo() {
return tipo;
}
public void setTipo(String tipo) {
this.tipo = tipo;
}
public int getTamanho() {
return tamanho;
}
public void setTamanho(int tamanho) {
this.tamanho = tamanho;
}
public char getCodigo_verificador() {
return codigo_verificador;
}
public void setCodigo_verificador(char codigo_verificador) {
this.codigo_verificador = codigo_verificador;
}
public String getMarca() {
return marca;
}
public void setMarca(String marca) {
this.marca = marca;
}
public double getPreco() {
return preco;
}
public void setPreco(double preco) {
this.preco = preco;
}
public Long getCodigo_barras() {
return codigo_barras;
}
public void setCodigo_barras(Long codigo_barras) {
this.codigo_barras = codigo_barras;
}
}
e a classe Sequencia:
package br.com.sapatos.sapatos.model;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
public class Sequencia {
@Id
@GeneratedValue
private Long codigo_produto;
}
eu criei essa classe sequencia e uma tabelas sequencia também e relacionei no banco com a tabela produto, só que não tenho certeza se é assim?