Erro ao excluir no Hibernate

Pessoal estou com um problema q ferveu minha cabeça e não consegui resolver…
é o seguinte, estou excluindo um objeto pessoa, mas antes disso ele preciso excluir numa outra tabela o código dessa pessoa de lá, pois tem uma Constraint…
quando tento executar acontece o seguinte erro:

24/01/2008 19:00:25 org.hibernate.util.JDBCExceptionReporter logExceptions WARNING: SQL Error: 0, SQLState: null 24/01/2008 19:00:25 org.hibernate.util.JDBCExceptionReporter logExceptions SEVERE: Entrada em lote 0 delete from anotacoes.pessoa_perfil_projeto where pessoa_codigo=1 foi abortada. Chame getNextException para ver a causa. 24/01/2008 19:00:25 org.hibernate.util.JDBCExceptionReporter logExceptions WARNING: SQL Error: 0, SQLState: 3F000 24/01/2008 19:00:25 org.hibernate.util.JDBCExceptionReporter logExceptions SEVERE: ERROR:[b] schema "anotacoes" does not exist[/b] 24/01/2008 19:00:25 org.hibernate.event.def.AbstractFlushingEventListener performExecutions SEVERE: Could not synchronize database state with session org.hibernate.exception.GenericJDBCException: Could not execute JDBC batch update at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103) at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43) at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:253) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:237) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:143) 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 org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:54) at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:434) at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:662) at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:632) at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:314) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:116) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:629) at com.virtual.Dao.PessoaDao$$EnhancerByCGLIB$$4751d138.excluir(<generated>) at com.virtual.Facade.PessoaFacade.excluir(PessoaFacade.java:24) at facade.PessoaFacadeTest.testExcluir(PessoaFacadeTest.java:81) 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:597) at junit.framework.TestCase.runTest(TestCase.java:154) at junit.framework.TestCase.runBare(TestCase.java:127) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:118) at junit.framework.TestSuite.runTest(TestSuite.java:208) at junit.framework.TestSuite.run(TestSuite.java:203) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:297) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:672) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:567) Caused by: java.sql.BatchUpdateException: Entrada em lote 0 delete from "anotacoes".pessoa_perfil_projeto where pessoa_codigo=1 foi abortada. Chame getNextException para ver a causa. at org.postgresql.jdbc2.AbstractJdbc2Statement$BatchResultHandler.handleError(AbstractJdbc2Statement.java:2534) at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1317) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:350) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeBatch(AbstractJdbc2Statement.java:2596) at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeBatch(NewProxyPreparedStatement.java:1723) at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48) at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:246) ... 33 more

não sei se tem a ver, mas não sei de onde ele tirou esse anotacoes que deixei em destaque…talvez possa ser isso…
se eu retirar a constraint eu consigo excluir o objeto diretamente normal…agora ele nao consegui retirar da outra tabela primeiro…

E aí Javabuntu, bao?!

Em uma parte da mensagem ele se refere a “anotacoes” como sendo um schema que ele procurou e não existe. Em algum arquivo, seja pojo, ou configuração alguem pode estar fazendo referencia a este schema, que pode ser também a própria base de dados. Talvez se vc postar o fonte das suas entidades e a estrutura do banco, fique mais fácil te ajudar.

Rodrigo.