Erro Hibernate

4 respostas
C

Tenho um relacionamento com duas tabelas

Pedido

<hibernate-mapping package="entidade">
   
      <class name="Pedido">

         <composite-id name="idPedido" class="Pedido">
             
            <key-property name="idPedido" column="codigo"/>            
            <key-many-to-one name="vendedor" class="Vendedor" column="vendedor"/>             
             
         </composite-id> 

                        
         <property name="dataPedido" type="calendar"/>
         <property name="dataFechamento" type="calendar"/>
         <property name="observacao"/>           
         
         <set name="itensPedido" inverse="true" lazy="true" cascade="all">
            <key>
               <column name="codigo"/>
               <column name="vendedor"/>
            </key>
            
            <one-to-many class="ItensPedido"/>
         </set>           
            
      </class>
   
   </hibernate-mapping>

ItensPedido

<hibernate-mapping package="entidade">
   
      <class name="ItensPedido">
      
        <composite-id name="idIten" class="ItensPedido">
         
            <key-many-to-one  name="idIten" class="Pedido">
               <column name="codigo"/>
               <column name="vendedor"/>
            </key-many-to-one>
            
            <key-many-to-one name="produto" class="Produto" column="produto"/>
            
         </composite-id> 

          <property name="quantidade"/>
          <property name="valor"/>
          <property name="quantVendida" column="quantidadeVendida"/>
          <property name="quantDevolvida" column="quantidadeDevolvida"/> 
          <property name="observacao" column="observacao"/>                                
                                            
      </class>
      
   </hibernate-mapping>

quando mando gravar ta dando esse erro.

Alguém pode me ajudar ?

java.lang.ClassCastException: java.lang.Integer
	at org.hibernate.type.ComponentType.toLoggableString(ComponentType.java:377)
	at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:113)
	at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:186)
	at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)
	at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:175)
	at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27)
	at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
	at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:535)
	at org.hibernate.impl.SessionImpl.save(SessionImpl.java:523)
	at org.hibernate.impl.SessionImpl.save(SessionImpl.java:519)
	at dao.HibernateDAOPedido.gravar(HibernateDAOPedido.java:41)
	at controle.FacadePedido.gravar(FacadePedido.java:36)
	at controle.Teste.main(Teste.java:31)

4 Respostas

ercardoso

relamente, java.lang.Integer não existe! existe sim o java.lang.Interger

[]'s

ziegfried

põe o código desse Teste.java q o erro deve estar nele…

ps: “Interger” não né ercardoso? Integer tá certo mesmo

C
FacadeItensPedido.gravar(1,1, 5.00, 0, 0, "CJ-01", "");
		FacadePedido.gravar(1, "22/12/2006", "10/01/2007", "", FacadeItensPedido.getItens());
public static void gravar(Integer idvendedor, String dataPedido, String dataFechamento, String observacao,
			             Set<ItensPedido> itensPedido )
	   {
		
		   DAOFactory factory = DAOFactory.getDAOFactory(DAOFactory.HIBERNATE);
		   HibernateDAO pedidoDAO = factory.getDAOPedido();
		   
		   Pedido pedido = new Pedido();
		   
		   Vendedor vendedor = new Vendedor();		   
		   vendedor.setCodigo(idvendedor);
		   
		   pedido.setIdPedido(1);
		   pedido.setVendedor(vendedor);
		   pedido.setDataFechamento( Util.toCalendar(dataFechamento));
		   pedido.setDataPedido(Util.toCalendar(dataPedido));
		   pedido.setObservacao(observacao);
		   pedido.setItensPedido(itensPedido);
		   
		   pedidoDAO.gravar(pedido);
		
	   }
ercardoso

opa! verdade ! mals

Criado 7 de fevereiro de 2007
Ultima resposta 9 de fev. de 2007
Respostas 4
Participantes 3