Sou iniciante em hibernate e apanhando para mapear algumas classes, esse erro está aparecendo :
SEVERE: Servlet.service() for servlet LoginServlet threw exception
org.hibernate.MappingException: Could not determine type for: model.Item_Pedido, at table: Produto, for columns: [org.hibernate.mapping.Column(itens_pedido)]
at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:292)
at org.hibernate.mapping.SimpleValue.isValid(SimpleValue.java:276)
at org.hibernate.mapping.Property.isValid(Property.java:207)
at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:458)
at org.hibernate.mapping.RootClass.validate(RootClass.java:215)
at org.hibernate.cfg.Configuration.validate(Configuration.java:1135)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1320)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
at util.HibernateUtil.<clinit>(HibernateUtil.java:21)
at business.LoginDAO.get(LoginDAO.java:32)
Vou postar as classes mapeadas e o script do BD dessas duas tabelas pq realmente nem sei como explicar esse erro pq n saco nada de Hibernate. Mais uma informação se for útil , nenhuma anotação está em getters ou setters
Essa é a classe Item_Pedido:
[code]
@Entity
@Table(name = “Item_Pedido”)
@SequenceGenerator(name=“seq_item_pedido”,sequenceName=“seq_item_pedido”)
public class Item_Pedido {
@Id
@GeneratedValue(generator=“seq_item_pedido”,strategy = GenerationType.AUTO)
@Column(name=“idItem_Pedido”)
private int idItem_Pedido;
private String nome_produto;
private String tipo_produto;
private String modelo;
private int quantidade;
//relacionamentos
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name="Pedido_Compra_numero_pedido", referencedColumnName="numero_pedido",insertable=true, updatable=true)
@Fetch(FetchMode.JOIN)
@Cascade(CascadeType.SAVE_UPDATE)
private Pedido_Compra pedido;
@OneToMany(mappedBy="itens_pedido", fetch = FetchType.LAZY)
@Cascade(CascadeType.ALL)
private Collection <Produto> produtos;
//Método construtor, getters e setters[/code]
Classe Produto:
[code]
@Entity
@Table(name = “Produto”)
@SequenceGenerator(name=“seq_produto”,sequenceName=“seq_produto”)
public class Produto {
@Id
@GeneratedValue(generator="seq_produto",strategy = GenerationType.AUTO)
private String codigo_produto;
private String nome;
private double valor_compra;
private double valor_venda;
private String tipo;
private int quantidade_atual;
private int quantidade_minima;
private String lote;
//Relacionamentos
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name="cnpj")
private Fornecedor fornecedor;
private Item_Venda itens_venda;
private Item_Pedido itens_pedido;
//Método construtor, getters e setters[/code]
e esse são os scripts de BD dessas tabelas.
[code]
CREATE TABLE Produto (
codigo_produto VARCHAR(10) NOT NULL,
Fornecedor_cnpj VARCHAR(14) NOT NULL,
nome VARCHAR(45) NOT NULL,
valor_compra FLOAT NOT NULL,
valor_venda FLOAT NOT NULL,
tipo VARCHAR(45) NOT NULL,
quantidade_atual INTEGER NOT NULL,
quantidade_minima INTEGER NOT NULL,
lote INTEGER NOT NULL,
PRIMARY KEY(codigo_produto),
FOREIGN KEY(Fornecedor_cnpj)
REFERENCES Fornecedor(cnpj)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Item_Pedido (
idItem_Pedido INTEGER NOT NULL,
Produto_codigo_produto VARCHAR(10) NOT NULL,
Pedido_Compra_numero_pedido VARCHAR(20) NOT NULL,
nome_produto VARCHAR(20) NOT NULL,
tipo_produto VARCHAR(45) NOT NULL,
modelo VARCHAR(20) NOT NULL,
quantidade INTEGER NOT NULL,
PRIMARY KEY(idItem_Pedido),
FOREIGN KEY(Pedido_Compra_numero_pedido)
REFERENCES Pedido_Compra(numero_pedido)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(Produto_codigo_produto)
REFERENCES Produto(codigo_produto)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);[/code]
Fiquei com a dúvida se não posso ter um método getItens_pedido() se não houver um associação Item_Pedido?
Se algum puder me ajudar, agradeço