Relatório com o Ireport usando o Hibernate.

01/12/2011

0

Estou tentando usar o Ireport 4.1.3 juntamente com o Hibernate 3.0, mas está apresentando erro(Não está conseguindo encontrar a entity class Categoria, por mim definida):
- Eu construi os arquivos:
- Categoria.java (entity class);
- Categoria.hbm.xml(mapeamento para a entidade Categoria)
- hibernate.cfg.xml(hibernate-configuration);
Dentro do iReport eu configurei o classpath com os jars do Hibernate 3.0 e apontando para as pastas onde estão estes 3 arquivos especificados anteriormente. Inseri também os 3 arquivos no classpath.
- Ao criar uma conexão a partir do hibernate e clicar no botão Teste, apresenta a seguinte mensagem: (Entity class not found: Categoria). Tenho que configurar alguma coisa no Windows XP(Variáveis de ambiente para o hibernate ou algo mais?)

Todos estes arquivos foram colocados em uma mesma pasta iReport-4.1.3\ireport .

Aqui abaixo está o conteúdo dos arquivos referidos anteriormente.
Obs:Vale ressaltar que eu conferi todos estes arquivos e não encontrei erro algum.

Você pode me ajudar? Muito obrigado pela atenção! Régis.



HIBERNATE-CONFIGURATION:

<!DOCTYPE hibernate-configuration PUBLIC
-//Hibernate/Hibernate Configuration DTD 3.0//EN
http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd>

<hibernate-configuration>
<session-factory>
<!--O dialeto usado pelo Hibernate para conversar com o banco-->
<property
name=hibernate.dialect>
org.hibernate.dialect.PostgreSQLDialect
</property>
<!--Configuracao do driver do banco de dados-->
<property
name=hibernate.connection.driver_class>
org.postgresql.Driver
</property>
<!--A URL de conexao ao banco de dados-->
<property
name=hibernate.connection.url>
jdbc:postgresql://localhost:5432/BdVendas?autoReconnect=true
</property>
<!--Nome do usuario-->
<property
name=hibernate.connection.username>
postgres
</property>
<!--A senha de acesso ao banco de dados-->
<property
name=hibernate.connection.password>
postgres
</property>


<!--Configuração de debug-->
<property name=show_sql>true</property>
<property name=use_outer_join>true</property>
<property name=hibernate.generate_statistics>true</property>
<property name=hibernate.use_sql_comments>true</property>


<mapping resource=Categoria.hbm.xml/>

</session-factory>
</hibernate-configuration>



MAPEAMENTO DA ENTIDADE CATEGORIA:

<?xml version=1.0 encoding=UTF-8?>
<!DOCTYPE hibernate-mapping PUBLIC
-//Hibernate/Hibernate Mapping DTD 3.0//EN
http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd>

<hibernate-mapping>
<class name=Categoria table=categorias>
<!-- Identificador (PK) da entidade Categoria -->
<id name=categoriaid type=integer column=categoriaid>
<generator class=native/>
</id>
<!-- Propriedades da entidade -->
<property column=categoria type=string name=categoria />
<property column=descricao type=string name=descricao />
</class>
</hibernate-mapping>

package entidade;


ENTIDADE DE CATEGORIA


/**
* @generated
*/
public class Categoria implements java.io.Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
/**
* @generated
*/
private Integer categoriaid;
/**
* @generated
*/
private String categoria;
/**
* @generated
*/
private String descricao;

/**
* @generated
*/
public Categoria() {
initObjects();
}

/**
* @generated
*/
public Integer getCategoriaid() {
return this.categoriaid;
}

/**
* @generated
*/
public void setCategoriaid(Integer categoriaid) {
this.categoriaid = categoriaid;
}

/**
* @generated
*/
public String getCategoria() {
return this.categoria;
}

/**
* @generated
*/
public void setCategoria(String categoria) {
this.categoria = categoria;
}

/**
* @generated
*/
public String getDescricao() {
return this.descricao;
}

/**
* @generated
*/
public void setDescricao(String descricao) {
this.descricao = descricao;
}


/**
* @generated
*/
private void initObjects() {
}

/**
* @generated
*/
public String toString() {
return Categoria + categoriaid= + categoriaid + categoria=
+ categoria + descricao= + descricao;
}
}


Régis Santos

Régis Santos

Responder

Posts

01/12/2011

Régis Santos

Está definido na classe de Categoria.java o package entidade, mas eu exclui esta linha!
Fiz os mesmos TESTES e não tive ÊXITO ALGUM!

Régis.
Responder

02/12/2011

Robson Teixeira

Tenho duas perguntinhas q podem parecer bobas mas foi o que vi ao le seus xmls postados.
1º)o seu arquivo *.hbm.xml está no mesmo diretorio que o *.cfg.xml???
2º) no seu arquivo hbm.xml postado vi a tag <class name=Categoria table=categorias> mas a classe Categoria está em algum pacote??? tipo <class name=br.com.entidades.Categoria table=categorias>


espero que essas perguntas que fiz possam ajuda-lo.
att
robson

Responder

02/12/2011

Régis Santos

Inicialmente eu coloquei o arquivo do hibernate.cfg.xml e categoria.hbm.xml em um diretorio src e o arquivo Categoria.java em um diretorio src.entidade e no Categoria.hbm.xml mencionei a classe de entidade como entidade.Categoria. Mas o erro continuava exibindo a seguinte mensagem: entity class not found: entidade.Categoria, ao tentar criar uma conexão hibernate e depois clicar em TESTE no iReport.

Aí,
Eu fiz de outra maneira: Coloquei o arquivo do hibernate.cfg.xml e categoria.hbm.xml em um diretorio src e o arquivo Categoria.java no mesmo diretorio src e no Categoria.hbm.xml mencionei a classe de entidade como Categoria, pois todos os arquivos estavam no mesmo diretório. Mas o erro continuava exibindo a seguinte mensagem: entity class not found: Categoria, ao tentar criar uma conexão hibernate e depois clicar em TESTE no iReport.

Obrigado. Régis.
Responder

02/12/2011

Régis Santos

O iReport consegue ler o hibernate.cfg.xml e Categoria.hbm.xml, mas não consegue ler o arquivo java da entidade Categoria.java. Tenho que configurar algo para que o iReport consiga ler arquivos de classes *.java?

Régis.
Responder

06/12/2011

Dyego Carmo

Rapaz , em toda minha vida com o JasperReports (ou iReport) eu sempre fiz ao contrario... criava a pesquisa via JAVA e apenas passava o resultado para o jasper...

Esse negocio de deixar o hibernate dentro dele só vai adicionar complexidade e nao vai resultar em nada.
Responder

06/12/2011

Régis Santos

Obrigado pela Resposta.

Régis.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar