Hibernate SOCORRO

3 respostas
A

boa tarde amigos, preciso muito da ajuda de voces:
tenho um DAO que salva um objeto consulta no banco com o seguinte código:

public class ConsultaDAO {
	public void marcarConsulta(String cpf,String data,String hora,String situacao){
		Consulta consulta=new Consulta();
		consulta.setData(data);
		consulta.setHora(hora);
		consulta.setSituacao(situacao);
				
		Paciente paciente=new Paciente();
		paciente.setCpf(cpf);
		System.out.println(paciente.getCpf());
		paciente.setEndereco("");
		paciente.setNome("");
		paciente.setTelefone("");
		consulta.setPaciente(paciente);
		Session sessao=HibernateUtil.getSessao();
		sessao.beginTransaction();
		sessao.saveOrUpdate(consulta);
		HibernateUtil.commit();
		sessao.close();
		
	}

Sendo que uma consulta tem como atributo um objeto paciente. Seto todos os atributos da Consulta e mando salvar, porém após salvar gera a seguinte exceção:

exception 

org.hibernate.exception.GenericJDBCException: Could not execute JDBC batch update
	org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:82)
	org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:70)
	org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
	org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:181)
	org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:226)
	org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:136)
	org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:274)
	org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
	org.hibernate.impl.SessionImpl.flush(SessionImpl.java:730)
	org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:324)
	org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:86)
	util.HibernateUtil.commit(HibernateUtil.java:52)
	dao.ConsultaDAO.marcarConsulta(ConsultaDAO.java:26)
	controle.MarcarConsulta.doPost(MarcarConsulta.java:25)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note The full stack trace of the root cause is available in the Apache

o arquivo hbm da classe consulta é o seguinte:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 16/05/2007 11:54:46 by Hibernate Tools 3.2.0.b9 -->
<hibernate-mapping>
    <class name="modelo.Consulta" table="consulta" schema="public">
        <id name="codcons" type="int">
            <column name="codcons" />
            <generator class="increment" />
        </id>
        <many-to-one name="paciente" class="modelo.Paciente" fetch="select">
            <column name="cpf" length="14" not-null="true" />
        </many-to-one>
        <property name="data" type="string">
            <column name="data" length="10" not-null="true" />
        </property>
        <property name="hora" type="string">
            <column name="hora" length="8" not-null="true" />
        </property>
        <property name="situacao" type="string">
            <column name="situacao" length="15" />
        </property>
        <set name="procedimentosrealizadoses" inverse="true">
            <key>
                <column name="codcons" not-null="true" />
            </key>
            <one-to-many class="modelo.Procedimentosrealizados" />
        </set>
        <set name="receitas" inverse="true">
            <key>
                <column name="codcons" not-null="true" />
            </key>
            <one-to-many class="modelo.Receita" />
        </set>
    </class>
</hibernate-mapping>

Alguém pode me ajudar por favor

3 Respostas

fsquadro

Ailson,

De uma olhada no seguinte:

util.HibernateUtil.commit(HibernateUtil.java:52)

Coloque um breakpoint e depure e veja o que está acontecendo.

O problema é só neste caso? Outros funcionam usando o HibernateUtil?

A

estão funcionando no soutros casos só neste caso que naõ funciona,não sei mais o que fazer. tem outra dica?será que é o o hbm da classe consulta que está causando esse problema?

keller

Da proxima vez use as tags [ code ] e [ /code ] para colocar os codigos.

E que tal um nome melhor para o topico?
“Hibernate SOCORRO”? SOCORRO? 190! :wink:

Qua tal um topico com o nome: Problema ao persistir objeto usando Hibernate.
Ate mais. :thumbup:

*Qualquer duvida sugestao reclamacao mande MP.

Criado 16 de maio de 2007
Ultima resposta 18 de mai. de 2007
Respostas 3
Participantes 3