Problemas com hibernate

3 respostas
ateubh

Quando executo uma inserção, recebo a seguinte mensagem de erro

extension-library-variants:
init:
deps-jar:
project-extension-init:
xdoclet-hibernate:
16/11/2006 15:11:23 xdoclet.XDocletMain start
INFO: Running <hibernate/>
Generating mapping file for dao.LabelLanguage.
   dao.LabelLanguage
Generating mapping file for dao.User.
   dao.User
Generating mapping file for dao.Label.
   dao.Label
xdoclet-hibernate-build:
Compiling 1 source file to /home/usuario/workspace/Diagon/build/classes
hibernate-test-user-props:
hibernate-load-user-props:
hibernate-resources:
compile:
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
Hibernate: insert into LABEL (name, codLabel) values (?, ?)
Exception in thread "main" org.hibernate.exception.SQLGrammarException: could not insert: [dao.Label]
        at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
        at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
        at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2202)
        at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2595)
        at org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:51)
        at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
        at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:232)
        at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:139)
        at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
        at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
        at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
        at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
        at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
        at dao.LabelFacade.saveLabel(LabelFacade.java:14)
        at dao.LabelFacade.generator(LabelFacade.java:22)
        at diagon.Main.<init>(Main.java:37)
        at diagon.Main.main(Main.java:46)
Caused by: java.sql.SQLException: Table not found in statement [insert into LABEL (name, codLabel) values (?, ?)]
        at org.hsqldb.jdbc.Util.throwError(Unknown Source)
        at org.hsqldb.jdbc.jdbcPreparedStatement.<init>(Unknown Source)
        at org.hsqldb.jdbc.jdbcConnection.prepareStatement(Unknown Source)
        at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:497)
        at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:94)
        at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:87)
        at org.hibernate.jdbc.AbstractBatcher.prepareBatchStatement(AbstractBatcher.java:218)
        at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2159)
        ... 14 more
debug:
BUILD SUCCESSFUL (total time: 9 seconds)

o código que gerou o erro foi o seguinte

package dao;

import org.hibernate.Session;
import org.hibernate.Transaction;

/**
 *  @netbeans.hibernate.facade beanClass=dao.Label
 */
public class LabelFacade { 
    public void saveLabel(Label label) {
        Session session = dao.HibernateUtil.currentSession();
        Transaction tx = session.beginTransaction();
        session.save(label);
        tx.commit();
        dao.HibernateUtil.closeSession();
    }    
    
    public void generator() {
        Label label = new Label();
        label.setCodLabel("0");
        label.setName("Login");
        saveLabel( label );
        
        label.setCodLabel("1");
        label.setName( "Senha" );
        saveLabel( label );
    }
}

a tabela está criada, o que está errado?

3 Respostas

ateubh

agora ficou mais feio

extension-library-variants: init: deps-jar: project-extension-init: xdoclet-hibernate: 16/11/2006 15:25:14 xdoclet.XDocletMain start INFO: Running <hibernate/> Generating mapping file for dao.LabelLanguage. dao.LabelLanguage Generating mapping file for dao.User. dao.User Generating mapping file for dao.Label. dao.Label xdoclet-hibernate-build: Compiling 1 source file to /home/usuario/workspace/Diagon/build/classes hibernate-test-user-props: hibernate-load-user-props: hibernate-resources: compile: log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment). log4j:WARN Please initialize the log4j system properly. Exception in thread "main" org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of dao.Label.codLabel at org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:104) at org.hibernate.tuple.entity.AbstractEntityTuplizer.setIdentifier(AbstractEntityTuplizer.java:211) at org.hibernate.persister.entity.AbstractEntityPersister.setIdentifier(AbstractEntityPersister.java:3529) at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:170) at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:121) 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.LabelFacade.saveLabel(LabelFacade.java:13) at dao.LabelFacade.generator(LabelFacade.java:21) at diagon.Main.<init>(Main.java:37) at diagon.Main.main(Main.java:46) Caused by: java.lang.IllegalArgumentException: argument type mismatch at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:42) ... 16 more debug: BUILD SUCCESSFUL (total time: 5 seconds)

andreiribas

será que não tem a ver com isso?:

Caused by: java.lang.IllegalArgumentException: argument type mismatch

P

Esse tipo de erro geralmente é flaat de sincronia da classe com a tabelas, da uma verificada em tudo denovo, id, campos que aceitam null etc.

Criado 16 de novembro de 2006
Ultima resposta 16 de nov. de 2006
Respostas 3
Participantes 3