Mensagens enviadas por: torcato
Índice dos Fóruns » Perfil de torcato » Mensagens enviadas por torcato
Autor Mensagem
Cara,

Esse problema eh de inicialização tardia. A sua classe deve esta com a coleção pronta para ser inicializada tardiamente. Sendo assim, se a sessão do hibernate já estiver fechada quando você chamar o método que retorna a coleção, o erro vai ocorrer.

Eu mesmo estou agorinha com esse problema. Estou usando o Spring para tentar resolver esse problema. O que seria algo bastante prático para mim, está atrasando o meu trabalho.
Olá a todos,

O assunto como está lá não indica exatamente o meu problema mas é capaz de atrai muita gente para esse tópico pq talvez tenham tido problema semelhante ao meu.

Vejamos:

Estamos fazendo um grid (não, não estamos usando Struts Layout) para filtrar registros de uma tabela. Temos dois formulários: um de consulta e outro para cada registro.consultado para permitir as ações de alteração e remoção. Queremos que, ao remover ou alterar um registro, a Ação retorne a mesma página tendo realizado a pesquisa sobre o mesmo filtro. Acontece que por algum modo que desconheço, os dados do form das ações de remover/alterar vão para o form de consulta. Assim ele filtra pelos dados de um registro que talvez tenha sido excluído na ultima operação. Não sabemos como isso acontece.

Um exemplo de como os action e forms estão configurados:

<form-beans>
<!-- EXPERT TESTE -->
<form-bean
name="consExpertForm"
type="consolidacao.form.ExpertForm"/>
<form-bean
name="consPesquisarExpertForm"
type="consolidacao.form.PesquisaExpertForm"/>
</form-beans>

<action path="/cons-expert" >
type="consolidacao.action.ExpertAction"
name="consExpertForm"
input="falha"
scope="request"
validate="false">
<forward name="pesquisa" path="/cons-pesquisar-expert.do"/>
<forward name="falha" path="/expert.do"/>
</action>

<action path="/cons-pesquisar-expert" >
type="consolidacao.action.ConsultarExpertAction"
name="consPesquisarExpertForm"
scope="session"
input="falha"
validate="false">
<forward name="pesquisa" path="/expert.do"/>
<forward name="falha" path="/expert.do"/>
</action>

Alguem pode nos ajudar?

Obrigado.
Olá, a todos.

Tenho mapeado todas as classes de minha aplicação corretamente, com exceção de uma. Ela basicamente é uma classe que tem referência para a maioria das outras. Como se verifica no arquivo de configuração abaixo:

<hibernate-mapping>
<class name="orcamento.base.Classificacao" table="Classificacao">
<id name="codigo" column="Codigo" type="int">
<generator class="identity"/>
</id>
<property name="tipo" column="Tipo"/>
<property name="tipoOrcamento" column="TipoOrcamento"/>
<property name="ano" column="Ano" />
<property name="data" column="Data"/>
<property name="valor" column="Valor"/>
<property name="nEmenda" column="N_Emenda"/>
<property name="anulada" column="Anulada"/>
<many-to-one name="funcao" column="IdFuncao"/>
<many-to-one name="subFuncao" column="IdSubfuncao"/>
<many-to-one name="programa" column="IdPrograma"/>
<many-to-one name="projativ" column="IdProjativ"/>
<many-to-one name="despesa" column="IdDespesa"/>
<many-to-one name="fonte" column="IdFonte"/>
</class>
</hibernate-mapping>

O arquivo hibernate.cfg.xml encontra-se abaixo. Saibam que todos as classes acima de Classificação funcionam. Toda vez que descomento essa classe, quaisquer consultas realizadas em outras classes - que nem sequer fazem menção à Classificação - falham. Lembrando que a falha acontece no carregamento inicial do Hibernate, e uma conexão fica sem ser liberada.

Alguém pode enxergar um erro em Classificacao.hbm.xml?

Obs.: A tabela está corretamente mapeada.


<hibernate-configuration>

<session-factory>
<!--
<property name="connection.datasource">java:comp/env/jdbc/orcamento</property>
-->
<property name="show_sql">true</property>
<property name="dialect">net.sf.hibernate.dialect.SQLServer7Dialect</property>

<!-- Mapping files -->
<mapping resource="orcamento/base/Funcao.hbm.xml"/>
<mapping resource="orcamento/base/SubFuncao.hbm.xml"/>
<mapping resource="orcamento/base/Poder.hbm.xml"/>
<mapping resource="orcamento/base/Despesa.hbm.xml"/>
<mapping resource="orcamento/base/Orgao.hbm.xml"/>
<mapping resource="orcamento/base/Unidade.hbm.xml"/>
<mapping resource="orcamento/base/Projativ.hbm.xml"/>
<mapping resource="orcamento/base/Programa.hbm.xml"/>
<mapping resource="orcamento/base/Fonte.hbm.xml"/>
<mapping resource="orcamento/base/Classificacao.hbm.xml"/>
</session-factory>

</hibernate-configuration>
Olá,

Atualmente estou trabalhando com um DataSource declarado no arquivo de configurações do Struts. Mas agora preciso alterar isso para que eu pegue o DataSource do Pool de Conexões DHCP declarado no server.xml do Tomcat.

Come é possível obter esse DataSource nas classes Action (atualmente obtenho com o método getDataSource() ) sem alterar toda a aplicação?

Tou precisando dessa resposta com urgência, senhores

Obrigado.
Meu problema é mais complicado que isso, amigo. Pois estou precisando de um driver que implemente a API JDBC 3, coisa que a nossa jTDS não faz.

Tou precisando usar o Hibernate, mas isso tá atrapalhando muito

Mas obrigado, companheiro.

Claudio Torcato.
Olá,

Vocês sabem onde encontro um driver JDBC 3 para o SQL Server 7?

Desde já obrigado.
Olá,

Realmente acreditava aqui ser o melhor lugar para colocar perguntas sobre Hibernate e Struts, uma vez que também li a mesma coisa que o Alexandre.

Somente uma sugestão: porquê você não criam uma sessão para frameworks e dentro dele subdividiam para Struts, Hibernate, Spring e outros?

Obrigado.

Cláudio Torcato.

PS.: Lógico que sei que esta sugestão já foi lançada por outras pessoas.
Estou com um problema sério, onde não o consigo resolver sozinho.

O Hibernate não tem o dialeto para o MSSQL Server 7 mas sim para o MSSQL Server 2000. Para obter a identidade do registro recém criado a versão 2000 usa a função SCOPE_IDENTITY. Tenho tentado então, criar um novo Dialeto, cópia do SQLServerDialect onde somente deixo de sobrescrever o método appendIdentitySelectToInsert() da classe Pai (SybaseDialect), já que esse banco usa @@identity.

Compilada a classe e insirido-a no arquivo hibernate2.jar; executado novamente o sistema, o erro que se verifica é o seguinte:

2004-05-17 09:18:00,430 WARN [net.sf.hibernate.util.JDBCExceptionReporter] - <SQL Error: 0, SQLState: null>
2004-05-17 09:18:00,430 ERROR [net.sf.hibernate.util.JDBCExceptionReporter] - <Was expecting a result set>
2004-05-17 09:18:00,430 WARN [net.sf.hibernate.util.JDBCExceptionReporter] - <SQL Error: 0, SQLState: null>
2004-05-17 09:18:00,430 ERROR [net.sf.hibernate.util.JDBCExceptionReporter] - <Was expecting a result set>
2004-05-17 09:18:00,490 ERROR [net.sf.hibernate.util.JDBCExceptionReporter] - <could not insert: [orcamento.base.Projativ]>
java.sql.SQLException: Was expecting a result set
at net.sourceforge.jtds.jdbc.PreparedStatement_base.executeQuery(Unknown Source)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:205)
at net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:50
at net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:432)
at net.sf.hibernate.impl.ScheduledIdentityInsertion.execute(ScheduledIdentityInsertion.java:29)
at net.sf.hibernate.impl.SessionImpl.doSave(SessionImpl.java:906)
at net.sf.hibernate.impl.SessionImpl.doSave(SessionImpl.java:839)
at net.sf.hibernate.impl.SessionImpl.saveWithGeneratedIdentifier(SessionImpl.java:757)
at net.sf.hibernate.impl.SessionImpl.save(SessionImpl.java:720)
.....

Senhores, alguém usa o Hibernate com esse tipo de banco?

Desde já obrigado.

Cláudio Torcato.
Olá pessoal,

Estou usando o Banco de Dados SQL Server e o Hibernate para gerar o código SQL específico desse banco. Um problema ocorre quando vou inserir um objeto no Banco e ele gera uma exceção informando que não existe a função SCOPE_IDENTITY. O Hibernate 2 usa esse função no lugar da @@identity.

A pergunta é: Como faço com que o Hibernate use @@identity no lugar do SCOPE_IDENTITY. E se isso não for possível, tem como habilita essa função no Banco (SCOPE_IDENTITY)?

Obrigado.
Pessoal,

Aparece o seguinte erro quando tento inserir um registro na tabela usando o Hibernate:

2004-05-14 09:22:36,820 INFO [orcamento.action.CadastrarProjetoAction] - <Antes>
2004-05-14 09:22:36,930 WARN [net.sf.hibernate.util.JDBCExceptionReporter] - <SQL Error: 195, SQLState: S1000>
2004-05-14 09:22:36,930 ERROR [net.sf.hibernate.util.JDBCExceptionReporter] - <'SCOPE_IDENTITY' is not a recognized function name.>
2004-05-14 09:22:36,930 WARN [net.sf.hibernate.util.JDBCExceptionReporter] - <SQL Error: 195, SQLState: S1000>
2004-05-14 09:22:36,930 ERROR [net.sf.hibernate.util.JDBCExceptionReporter] - <'SCOPE_IDENTITY' is not a recognized function name.>
2004-05-14 09:22:36,930 ERROR [net.sf.hibernate.util.JDBCExceptionReporter] - <could not insert: [orcamento.base.Projativ]>
java.sql.SQLException: 'SCOPE_IDENTITY' is not a recognized function name.
at net.sourceforge.jtds.jdbc.SqlMessage.toSQLException(Unknown Source)
at net.sourceforge.jtds.jdbc.SQLWarningChain.addOrReturn(Unknown Source)
at net.sourceforge.jtds.jdbc.Tds.submitProcedure(Unknown Source)
at net.sourceforge.jtds.jdbc.PreparedStatement_base.submitProcedure(Unknown Source)
at net.sourceforge.jtds.jdbc.PreparedStatement_base.execute(Unknown Source)
at net.sourceforge.jtds.jdbc.PreparedStatement_base.executeQuery(Unknown Source)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:205)
at net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:50



Aqui está o arquivo de configuração do Objecto de Persistência:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping.dtd">
<hibernate-mapping>
<class name="orcamento.base.Projativ" table="Projativ">
<id name="ID" column="ID">
<generator class="native"/>
</id>
<property name="codigo" column="Codigo"/>
<property name="descricao" column="Descricao"/>
<property name="ano" column="Ano"/>
<property name="historico" column="Historico"/>
<many-to-one name="unidade" column="IdUnidade"/>
</class>
</hibernate-mapping>

Tenho de resolver logo esse problema, eh urgente!!!

Obrigado, desde já.

Claudio Torcato.
Eu trabalho com Struts e acho que ele colabora muito no desenvolvimento de aplicações Web. Agora, gostaria de saber quais são as melhores alternativas em Framework?
Estou sem saber como extrair para o relatório o valor de um propriedade que é um Bean. Vejamos um exemplo:

class Funcionario:
Departamento departamento
String nome

class Departamento:
int codigo
String nome

Tou querendo, num relatório mostrar o nome do departamento, e este departamento eh um Bean para a propriedade departamento. Quero, em suma, fazer isso:

funcionario.getDepartamento().getNome()

Como faço isso em JasperReports?

Obrigado.
O Argumento mais sólido que vejo é que devemos dar enfase ao que está na moda. Tou querendo dizer com isso, o fato de cada vez mais pessoas estejam querendo usar. Veja o exemplo do Struts. Vem crescendo o número de desenvolvedores que trabalham com Struts. E sua documentação é fraca no meu ponto de vista. O que poderíamos ter então, era um local onde desenvolvedores de Struts tirassem as dúvidas de quem tah começando a usar o Framework. Estou usando o Framework Struts desde outubro e gostaria de ajudar outros que tão começando a enfrentar a fera. Mas não tenho um ponto para ficar obsevando as perguntas, que seria um Tópico: Struts da vida. Quem tah querendo ajudar não vai percorrer uma enorme lista até encontrar quem tenha problemas com Struts.
Bom, é isso.
Pois é smota, uma boa pesquisada é interessante, mas você não acha que já era hora do pessoal da administração criar tópico específicos? JasperReports e iReport, Hibernate, Struts entre outros?

Obrigado por sua busca, pois ajudou realmente.

Cláudio Torcato.
Olá a todos.

Usaremos no meu trabalho, o JasperReport e o iReport, em substituição à sua base (iText) para gerarmos nossos relatórios. Atualmente desenvolvemos aplicações para a Intranet da Secretária de Desenvolvimento com o Struts sob o Tomcat. Para a persistência de dados usamos o Padrão de Projeto DAO. E para esse novo sistema (Orçamento), pretendemos manter essa estrutura (talvez com acréscimo do Hibernate).

A pergunta é: Como eu uso JRBeanDataSource em conjunto como a camada DAO?
 
Índice dos Fóruns » Perfil de torcato » Mensagens enviadas por torcato
Ir para:   
Powered by JForum 2.1.8 © JForum Team