Ajuda!

54 respostas
pmcn

Alguém saberia me dizer aonde está o erro?:

java.lang.NoClassDefFoundError: org/apache/commons/collections/SequencedHashMap
	at net.sf.hibernate.mapping.PersistentClass.<init>(PersistentClass.java:30)
	at net.sf.hibernate.mapping.RootClass.<init>(RootClass.java:16)
	at net.sf.hibernate.cfg.Binder.bindRoot(Binder.java:1255)
	at net.sf.hibernate.cfg.Configuration.add(Configuration.java:253)
	at net.sf.hibernate.cfg.Configuration.addInputStream(Configuration.java:289)
	at net.sf.hibernate.cfg.Configuration.addResource(Configuration.java:337)
	at net.sf.hibernate.cfg.Configuration.doConfigure(Configuration.java:1027)
	at net.sf.hibernate.cfg.Configuration.doConfigure(Configuration.java:983)
	at net.sf.hibernate.cfg.Configuration.configure(Configuration.java:926)
	at br.com.evoluti.solicit.cadastro.SessionFactory.getSessionFactory(SessionFactory.java:50)
	at br.com.evoluti.solicit.cadastro.SessionFactory.getConfiguration(SessionFactory.java:75)
	at br.com.evoluti.solicit.cadastro.SessionFactory.exportSchema(SessionFactory.java:41)
	at br.com.evoluti.solicit.cadastro.SessionFactory.main(SessionFactory.java:82)
Exception in thread "main"

54 Respostas

vivi_grieco

Em q classe está oorrendo o erro?
Coloque o código da mesma…

Diogenes

Sua aplicacao nao tah enxergando a library do Jakarta Commons.
Coloque ela no diretorio “lib” da aplicacao, ou modifique o teu classpath.

Mauricio_Linhares

Tem um commons-collections(versão).jar na pasta lib do download do Hibernate pmcn, coloque ele no seu classpath.

pmcn

Alguma outra sugestao!!! coloquei la no classpath mas não mudou nada… :?

Mauricio_Linhares

Então é mágica velho, porque ele não está encontrando a classe (que é uma classe do commons collections, basta ver o pacote), e com o .JAR no classpath ele deveria estar encontrando.

Você derrubou e reiniciou o Tomcat? (não só a aplicação)

pcalcado

Pelo jeito, vc esta com problemas com o classpath. Caso ainda nao tenha dado uma lida, esse artigo ajuda bastante: http://guj.com.br/java.artigo.108.1.guj

pmcn

pcalcado, li os artigos lá (classpath, jdk) muito bons… revi toda a minha configuraçao, até fiz alguma alteraçao, porem o erro persiste! Algo que não comentei é que a jvm lança uma mensagem de erro!

“Fatal exception occured. Program will exit”

Essa mensagem tb diz respeito a uma possivel mau configuraçao da CLASSPATH?

Diogenes

Como vc estah rodando sua aplicacao? Pela IDE?

Mauricio_Linhares

O Tomcat fechou??? :shock:

pmcn

Diogenes, isso mesmo, estou rodando a aplicação pela IDE!

Mauricio, o erro “Fatal Exception” acho q foi resolvido… pelo menos nao apareceu mais
Desculpe a ignorância mas tenho que colocar algum plugin do tomcat na aplicação? (src/main/test)? Tem um chamado jakarta-oro.jar…Pra que serve? Vc falou sobre o tomcat ai me atentei pra isso…rs :wink:

Mauricio_Linhares

Ah, pensei que você estivesse tendo esse problema com o Tomcat. Tem nadas haver não :lol:

Mas o Jakarta oro é uma dependência comum, não está relacionado com o Tomcat não.

Diogenes

Procure por algum .jar com o nome similar a “commons-collections-x-x.jar”, (onde x eh variavel de acordo com a versao), e adicione-o ao Build Path do seu projeto.

pmcn

Bom… Finalmente o Hibernate começou a dar sinais de vida na minha aplicação, porem ele começa a realizar o mapeamento das tabelas (SessionFactory)… porem ocorre um erro e ele trava novamente!

2005-06-09 15:24:27,195 [main] INFO  net.sf.hibernate.cfg.Binder - Mapping class: br.com.evoluti.solicit.entidade.Cidade -> Cidade
2005-06-09 15:24:27,195 [main] DEBUG net.sf.hibernate.cfg.Binder - Mapped property: id -> NUMG_Cidade, type: integer
2005-06-09 15:24:27,195 [main] DEBUG net.sf.hibernate.cfg.Binder - Mapped property: descricao -> DESC_Cidade, type: string
2005-06-09 15:24:27,195 [main] DEBUG net.sf.hibernate.cfg.Binder - Mapped property: versaoObjeto -> NUMR_VersaoObjeto, type: integer
2005-06-09 15:24:27,226 [main] ERROR net.sf.hibernate.cfg.Configuration - Could not compile the mapping document
net.sf.hibernate.MappingException: Could not interpret type: br.com.evoluti.solicit.entidade.Estado
	at net.sf.hibernate.cfg.Binder.getTypeFromXML(Binder.java:934)
	at net.sf.hibernate.cfg.Binder.bindSimpleValue(Binder.java:435)
	at net.sf.hibernate.cfg.Binder.propertiesFromXML(Binder.java:1047)
	at net.sf.hibernate.cfg.Binder.bindRootClass(Binder.java:362)
	at net.sf.hibernate.cfg.Binder.bindRoot(Binder.java:1256)
	at net.sf.hibernate.cfg.Configuration.add(Configuration.java:253)
	at net.sf.hibernate.cfg.Configuration.addInputStream(Configuration.java:289)
	at net.sf.hibernate.cfg.Configuration.addResource(Configuration.java:337)
	at net.sf.hibernate.cfg.Configuration.doConfigure(Configuration.java:1027)
	at net.sf.hibernate.cfg.Configuration.doConfigure(Configuration.java:983)
	at net.sf.hibernate.cfg.Configuration.configure(Configuration.java:926)
	at br.com.evoluti.solicit.cadastro.SessionFactory.getSessionFactory(SessionFactory.java:50)
	at br.com.evoluti.solicit.cadastro.SessionFactory.getConfiguration(SessionFactory.java:75)
	at br.com.evoluti.solicit.cadastro.SessionFactory.exportSchema(SessionFactory.java:41)
	at br.com.evoluti.solicit.cadastro.SessionFactory.main(SessionFactory.java:82)
net.sf.hibernate.HibernateException: net.sf.hibernate.MappingException: Error reading resource: br/com/evoluti/solicit/entidade/Cidade.hbm.xml
	at br.com.evoluti.solicit.cadastro.SessionFactory.getSessionFactory(SessionFactory.java:57)
	at br.com.evoluti.solicit.cadastro.SessionFactory.getConfiguration(SessionFactory.java:75)
	at br.com.evoluti.solicit.cadastro.SessionFactory.exportSchema(SessionFactory.java:41)
	at br.com.evoluti.solicit.cadastro.SessionFactory.main(SessionFactory.java:82)

O Mapeamento do meu hibernate-cfg.xml esta nessa ordem

<mapping resource="br/com/evoluti/solicit/entidade/Solicitacao.hbm.xml" /> <mapping resource="br/com/evoluti/solicit/entidade/Sistema.hbm.xml" /> <mapping resource="br/com/evoluti/solicit/entidade/Resposta.hbm.xml" /> <mapping resource="br/com/evoluti/solicit/entidade/Usuario.hbm.xml" /> <mapping resource="br/com/evoluti/solicit/entidade/Bairro.hbm.xml" /> <mapping resource="br/com/evoluti/solicit/entidade/Cidade.hbm.xml" /> <mapping resource="br/com/evoluti/solicit/entidade/Estado.hbm.xml" /> <mapping resource="br/com/evoluti/solicit/entidade/Paises.hbm.xml" /> <mapping resource="br/com/evoluti/solicit/entidade/Logradouros.hbm.xml" /> <mapping resource="br/com/evoluti/solicit/entidade/TipoLogradouros.hbm.xml" />

Quando a aplicação vai mapear o Estado ai ocorre o erro!
Alguem teria uma indicação do que devo fazer? :idea:

Diogenes

Já deu uma olhada no seu Cidade.hbm.xml?? Provavelmente ele tah com algum errinho…

pmcn

Mas isso ai não é criado automaticamente nao? Se fosse pra ter algo errado pra mim era no hibernate-config.xml! Ou nao!?!?!

Diogenes

Nao necessariamente. Depende da ferramenta q vc estah utilizando, cara.

Pode ser q nao. Posta o Cidade.hbm.xml aih pra gente dar uma olhada…
Pode ter algum erro sintatico nele.

pmcn

Cidade.hbm.xml

<?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="br.com.evoluti.solicit.entidade.Cidade"
        table="Cidade"
    >

        <id
            name="id"
            column="NUMG_Cidade"
            type="int"
        >
            <generator class="increment">
              <!--  
                  To add non XDoclet generator parameters, create a file named 
                  hibernate-generator-params-Cidade.xml 
                  containing the additional parameters and place it in your merge dir. 
              --> 
            </generator>
        </id>

        <property
            name="descricao"
            type="java.lang.String"
            column="DESC_Cidade"
            length="70"
            not-null="true"
            unique="true"
        />

        <property
            name="versaoObjeto"
            type="int"
            column="NUMR_VersaoObjeto"
        />

        <property
            name="estado"
            type="br.com.evoluti.solicit.entidade.Estado"
            column="NUMR_VersaoObjeto"
        />

        <!--
            To add non XDoclet property mappings, create a file named
                hibernate-properties-Cidade.xml
            containing the additional properties and place it in your merge dir.
        -->

    </class>

</hibernate-mapping>
Diogenes

Pelo q parece nao eh o Cidade.hbm.xml nao.
Posta o Estado.hbm.xml, por favor.

Mauricio_Linhares

Estado é uma propriedade simples? Um String? Um Integer?

Se não for, ele não deveria estar sendo mapeado como uma propriedade, e parece que não é mesmo, porque tem um tipo lá.

pmcn

É Mauricio, ele é um tipo String, se eu nao mapea-lo como uma propriedade como ee posso classificá-lo? Assim como ele mapeei todos como propriedade! :wink:

Mauricio_Linhares

Se ele é um tipo String, porque lá no atributo “type” do nó <property> ele tem esse valor:

type="br.com.evoluti.solicit.entidade.Estado"

Se ele é um String, não precisava nem colocar o “type”, o próprio Hibernate já saberia o que é.

pmcn

hehehe… Cara isso ai foi vacilo mesmo…vou ver!

pmcn

É que a variavel estado é do tipo Estado, entao ele faz algo parecido a um relacionamento!

<?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="br.com.evoluti.solicit.entidade.Cidade"
        table="Cidade"
    >

        <id
            name="id"
            column="NUMG_Cidade"
            type="int"
        >
            <generator class="increment">
              <!--  
                  To add non XDoclet generator parameters, create a file named 
                  hibernate-generator-params-Cidade.xml 
                  containing the additional parameters and place it in your merge dir. 
              --> 
            </generator>
        </id>

        <property
            name="descricao"
            type="java.lang.String"
            column="DESC_Cidade"
            length="70"
            not-null="true"
            unique="true"
        />

        <property
            name="versaoObjeto"
            type="int"
            column="NUMR_VersaoObjeto"
        />

        <property
            name="estado"
            type="br.com.evoluti.solicit.entidade.Estado"
            column="NUMG_Estado"
        />

        <!--
            To add non XDoclet property mappings, create a file named
                hibernate-properties-Cidade.xml
            containing the additional properties and place it in your merge dir.
        -->

    </class>

</hibernate-mapping>
Diogenes

Como tah o comentario XDoclet na classe Cidade???
Não seria algo parecido com:

/**
* @hibernate.many-to-one
*  column="NUMG_Estado"
*  not-null="true"
*  class="br.com.evoluti.solicit.entidade.Estado"
*/
public Estado getEstado(){
 ...
}
pmcn

É Diogenes realmente eu não fiz o relacionamento nao! fiz somente:

/**
 * @hibernate.property column = "NUMG_Estado"
 * @return
 */
	public Estado getEstado() {
		return estado;
	}
Diogenes

Fazendo o relacionamento funcionou?

pmcn

É mudou o erro… vou rever aqui os relacionamentos… ai te falo!

Valeu pela dica! :slight_smile:

pmcn

Diogenes, eu fiz as correçoes, e agora o erro é estrondoso, estou fazendo uma conexao com o SQLServer2000 e estou usando o drive jtds-1.0.3.jar… conhece? então estou passando pra voce meu arquivo de configuracao do hibernate pra vc dar uma olhada e ver se ele esta correto! Thanks

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

<hibernate-configuration>
	<session-factory>
		<property name="hibernate.show_sql">true</property>
		<property name="hibernate.dialect">
			net.sf.hibernate.dialect.SQLServerDialect
		</property>
		<property name="connection.driver_class">
			net.sourceforge.jtds.jdbc.Driver
		</property>
		<property name="connection.url">
			jdbc:jtds:sqlserver://localhost:1433/sigp;
		</property>
		<property name="connection.username">pmiranda</property>
		<property name="connection.password">pmiranda</property>
		
		<property name="hibernate.cache.provider_class">net.sf.hibernate.cache.EhCacheProvider</property>


		<property name="c3p0.min_size">0</property>
		<property name="c3p0.max_size">10</property>
		<property name="c3p0.timeout">500</property>
		<property name="c3p0.max_statements">20</property>

		<mapping
			resource="br/com/evoluti/solicit/entidade/Solicitacao.hbm.xml" />
		<mapping
			resource="br/com/evoluti/solicit/entidade/Sistema.hbm.xml" />
		<mapping
			resource="br/com/evoluti/solicit/entidade/Resposta.hbm.xml" />
		<mapping
			resource="br/com/evoluti/solicit/entidade/Usuario.hbm.xml" />
		<mapping
			resource="br/com/evoluti/solicit/entidade/Bairro.hbm.xml" />
		<mapping
			resource="br/com/evoluti/solicit/entidade/Cidade.hbm.xml" />
		<mapping
			resource="br/com/evoluti/solicit/entidade/Estado.hbm.xml" />
		<mapping
			resource="br/com/evoluti/solicit/entidade/Paises.hbm.xml" />
		<mapping
			resource="br/com/evoluti/solicit/entidade/Logradouros.hbm.xml" />
		<mapping
			resource="br/com/evoluti/solicit/entidade/TipoLogradouros.hbm.xml" />
		
	</session-factory>
</hibernate-configuration>
Mauricio_Linhares

Posta o erro aí.

Diogenes

Sem o erro fica difícil de adivinhar meu velho…
Mas, chutando, tenta tirar esse “;” no final da propriedade connection.url pra ver se muda alguma coisa…

pmcn

Cara esse erro esta ocorrendo novamente!
Qdo for assim eu tenho q verifica-lo aonde no meu pacote descrito?

005-06-10 15:41:06,635 [main] INFO  net.sf.hibernate.impl.SessionFactoryImpl - building session factory
2005-06-10 15:41:06,635 [main] DEBUG net.sf.hibernate.impl.SessionFactoryImpl - instantiating session factory with properties: {hibernate.connection.password=teste, java.runtime.name=Java(TM) 2 Runtime Environment, Standard Edition, hibernate.cache.provider_class=net.sf.hibernate.cache.EhCacheProvider, sun.boot.library.path=C:\Arquivos de programas\Java\j2re1.4.2_08\bin, java.vm.version=1.4.2_08-b03, hibernate.connection.username=pmiranda, c3p0.min_size=0, java.vm.vendor=Sun Microsystems Inc., java.vendor.url=http://java.sun.com/, path.separator=;, java.vm.name=Java HotSpot(TM) Client VM, file.encoding.pkg=sun.io, user.country=BR, sun.os.patch.level=Service Pack 4, java.vm.specification.name=Java Virtual Machine Specification, user.dir=C:\Documents and Settings\pmiranda\Meus documentos\work\java\projetos\solicit, c3p0.max_size=10, java.runtime.version=1.4.2_08-b03, java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment, hibernate.c3p0.max_statements=20, java.endorsed.dirs=C:\Arquivos de programas\Java\j2re1.4.2_08\lib\endorsed, os.arch=x86, java.io.tmpdir=C:\DOCUME~1\pmiranda\CONFIG~1\Temp\, line.separator=
, java.vm.specification.vendor=Sun Microsystems Inc., user.variant=, os.name=Windows 2000, sun.java2d.fontpath=, hibernate.c3p0.timeout=500, java.library.path=C:\Arquivos de programas\Java\j2re1.4.2_08\bin;.;C:\WINNT\system32;C:\WINNT;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Arquivos de programas\Microsoft SQL Server\80\Tools\BINN;C:\j2sdk1.4.2_08\bin;C:\maven-1.0.2\bin;C:\j2sdk1.4.2_08\bin;C:\Arquivos de programas\CVSNT\, java.specification.name=Java Platform API Specification, java.class.version=48.0, java.util.prefs.PreferencesFactory=java.util.prefs.WindowsPreferencesFactory, os.version=5.0, connection.password=teste, user.home=C:\Documents and Settings\pmiranda, user.timezone=America/Sao_Paulo, connection.username=pmiranda, java.awt.printerjob=sun.awt.windows.WPrinterJob, file.encoding=Cp1252, java.specification.version=1.4, hibernate.c3p0.min_size=0, hibernate.connection.driver_class=net.sourceforge.jtds.jdbc.Driver, user.name=pmiranda, java.class.path=C:\Documents and Settings\pmiranda\Meus documentos\work\java\projetos\solicit\src\main\web\WEB-INF\classes;C:\Documents and Settings\pmiranda\Meus documentos\work\java\projetos\solicit\lib\hibernate\jars\hibernate-2.1.3.jar;C:\Documents and Settings\pmiranda\Meus documentos\work\java\projetos\solicit\lib\hibernate\jars\log4j-1.2.8.jar;C:\Documents and Settings\pmiranda\Meus documentos\work\java\projetos\solicit\lib\myfaces\jars\myfaces.jar;C:\Documents and Settings\pmiranda\Meus documentos\work\java\projetos\solicit\lib\myfaces\jars\servlet.jar;C:\Documents and Settings\pmiranda\Meus documentos\work\java\projetos\solicit\lib\hibernate\jars\commons-logging-1.0.4.jar;C:\Documents and Settings\pmiranda\Meus documentos\work\java\projetos\solicit\lib\hibernate\jars\dom4j-1.4.jar;C:\Documents and Settings\pmiranda\Meus documentos\eclipse\plugins\org.junit_3.8.1\junit.jar;C:\Documents and Settings\pmiranda\Meus documentos\work\java\projetos\solicit\lib\hibernate\jars\commons-collections-2.1.1.jar;C:\Documents and Settings\pmiranda\Meus documentos\work\java\projetos\solicit\lib\hibernate\jars\c3p0-0.8.4.5.jar;C:\Documents and Settings\pmiranda\Meus documentos\work\java\projetos\solicit\lib\hibernate\jars\cglib-full-2.0.2.jar;C:\Documents and Settings\pmiranda\Meus documentos\work\java\projetos\solicit\lib\hibernate\jars\ehcache-0.9.jar;C:\Documents and Settings\pmiranda\Meus documentos\work\java\projetos\solicit\lib\hibernate\jars\jdbc2_0-stdext.jar;C:\Documents and Settings\pmiranda\Meus documentos\work\java\projetos\solicit\lib\hibernate\jars\jta.jar;C:\Documents and Settings\pmiranda\Meus documentos\work\java\projetos\solicit\lib\hibernate\jars\odmg-3.0.jar;C:\Documents and Settings\pmiranda\Meus documentos\work\java\projetos\solicit\lib\hibernate\jars\swarmcache-1.0rc2.jar;C:\Documents and Settings\pmiranda\Meus documentos\work\java\projetos\solicit\lib\hibernate\jars\xalan-2.4.0.jar;C:\Documents and Settings\pmiranda\Meus documentos\work\java\projetos\solicit\lib\hibernate\jars\xerces-2.4.0.jar;C:\Documents and Settings\pmiranda\Meus documentos\work\java\projetos\solicit\lib\jtds\jars\jtds-1.0.3.jar, hibernate.show_sql=true, java.vm.specification.version=1.0, java.home=C:\Arquivos de programas\Java\j2re1.4.2_08, sun.arch.data.model=32, hibernate.connection.url=jdbc:jtds:sqlserver://localhost:1433/SIGP, hibernate.dialect=net.sf.hibernate.dialect.SQLServerDialect, user.language=pt, java.specification.vendor=Sun Microsystems Inc., hibernate.c3p0.max_size=10, awt.toolkit=sun.awt.windows.WToolkit, c3p0.timeout=500, hibernate.cglib.use_reflection_optimizer=true, java.vm.info=mixed mode, c3p0.max_statements=20, java.version=1.4.2_08, java.ext.dirs=C:\Arquivos de programas\Java\j2re1.4.2_08\lib\ext, sun.boot.class.path=C:\Arquivos de programas\Java\j2re1.4.2_08\lib\rt.jar;C:\Arquivos de programas\Java\j2re1.4.2_08\lib\i18n.jar;C:\Arquivos de programas\Java\j2re1.4.2_08\lib\sunrsasign.jar;C:\Arquivos de programas\Java\j2re1.4.2_08\lib\jsse.jar;C:\Arquivos de programas\Java\j2re1.4.2_08\lib\jce.jar;C:\Arquivos de programas\Java\j2re1.4.2_08\lib\charsets.jar;C:\Arquivos de programas\Java\j2re1.4.2_08\classes, java.vendor=Sun Microsystems Inc., connection.driver_class=net.sourceforge.jtds.jdbc.Driver, file.separator=\, java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport.cgi, sun.io.unicode.encoding=UnicodeLittle, sun.cpu.endian=little, connection.url=jdbc:jtds:sqlserver://localhost:1433/SIGP, sun.cpu.isalist=pentium i486 i386}
net.sf.hibernate.HibernateException: net.sf.hibernate.PropertyNotFoundException: Could not find a setter for property id in class br.com.evoluti.solicit.entidade.TipoLogradouros
	at br.com.evoluti.solicit.cadastro.SessionFactory.getSessionFactory(SessionFactory.java:57)
	at br.com.evoluti.solicit.cadastro.SessionFactory.getConfiguration(SessionFactory.java:75)
	at br.com.evoluti.solicit.cadastro.SessionFactory.exportSchema(SessionFactory.java:41)
	at br.com.evoluti.solicit.cadastro.SessionFactory.main(SessionFactory.java:82)
Caused by: net.sf.hibernate.PropertyNotFoundException: Could not find a setter for property id in class br.com.evoluti.solicit.entidade.TipoLogradouros
	at net.sf.hibernate.property.BasicPropertyAccessor.getSetter(BasicPropertyAccessor.java:131)
	at net.sf.hibernate.mapping.Property.getSetter(Property.java:178)
	at net.sf.hibernate.persister.AbstractEntityPersister.<init>(AbstractEntityPersister.java:590)
	at net.sf.hibernate.persister.EntityPersister.<init>(EntityPersister.java:690)
	at net.sf.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:42)
	at net.sf.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:137)
	at net.sf.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:805)
	at br.com.evoluti.solicit.cadastro.SessionFactory.getSessionFactory(SessionFactory.java:53)
	... 3 more
Mauricio_Linhares

Simples, a classe TipoLogradouros não tem uma propriedade “id”.

pmcn

Realmente nao tem property id porque declaro nao os declaro como propriedades e sim id's mesmo!

[code]
/**
* @hibernate.id column = "NUMG_LogradouroTipo" generator-class = "increment"
* @return
*/
public int getId() {
return id;
}

Tenho que declara-lo como property ou tenho que seta (setter) alguma coisa?

Mauricio_Linhares

você tem que colocar o método setId(int id), assim:

public void setId(int id) {
                this.id = id;
}
Diogenes

Eh sempre bom ler a exception direito antes…

pmcn

Digo tenho que declarar o set no hibernate…
/**

*/ Pq antes eu so fazia o getId

Mauricio_Linhares

Não, você só precisa declarar o set no seu código Java. É bom você aprender a fazer o mapeamento na mão rapaz, vai facilitar um bocado a sua vida.

Diogenes

Basta vc colocar o metodo como o Mauricio te falou.

Diogenes

[citando Maurício Linhares]
É bom você aprender a fazer o mapeamento na mão rapaz, vai facilitar um bocado a sua vida.
[/citando]

Ou pelo menos dominá-lo primeiro e depois sim usar XDoclet.

pmcn

É desculpe ai o trabalho que eu dei…e agradeço a paciência de voces, realmente não domino nada não… mas com a dicas que me deram consegui fazer o hibernate gerar aqui as tables blz!!!

Muito Obrigado!

Mauricio_Linhares

pmcn:
É desculpe ai o trabalho que eu dei…e agradeço a paciência de voces, realmente não domino nada não… mas com a dicas que me deram consegui fazer o hibernate gerar aqui as tables blz!!!

Muito Obrigado!

Disponha! :smiley:

Mas é sempre bom entender como a coisa funciona, dê uma olhada nesse tutorial aqui, talves ele lhe ajude:

http://www.guj.com.br/java.tutorial.artigo.174.1.guj

pmcn

Olá Pessoal Bom Dia,

Estou com um problema aqui, quero modificar o mapeamento que criei, porem ao mandar executar o mapeamento modificado, é gerado pra mim o mapeamento antigo…o que devo fazer? No xdoclet é gerado ou mantém mesmo os .hbm.xml antigos, sendo que eu os altero tudo lá no hibernate.cfg.xml posso alterar os arq. do xdoclet na mão mesmo?

Obrigado!

Mauricio_Linhares

Viajei geral… você modificou o mapeamento e ele vira o mapeamento velho?

pmcn

Ó eu dando trabalho de novo? :slight_smile:
Pois é digamos, modifiquei o mapeamento feito em uma entidade.
Só que ao executar o SessionFactory novamente, é gerado pra mim no banco todo o mapeamento sem as modificações feitas…
Queria saber se posso alterar la nos arq. .hbm.xml do xdoclet na mão as alterações feitas e mandar rodar o SessionFacory novamente pra ver se dessa vez as alterações serao feitas como eu quero.

Ok…

Mauricio_Linhares

A SessionFactory gera os mapeamentos :?: :?: :?:

Hômi explique isso direito, que eu continuo sem entender.

Se você editar os arquivos .hbm.xml e colocar eles no seu classpath não funciona não?

pmcn

Bem Mauricio o procedimento que eu faço é ao alterar o mapeamento eu executo o maven e dando tudo certo eu executo o SessionFactory que vai gerar as tables com o mapeamento feito anteriormente…
Então eu estou alterando o mapeamento porem ao executar a criação das tables com o mapeamento modificado, esta sendo gerado com o mapeamento antigo… só isso! :slight_smile:

Mauricio_Linhares

pmcn:
Bem Mauricio o procedimento que eu faço é ao alterar o mapeamento eu executo o maven e dando tudo certo eu executo o SessionFactory que vai gerar as tables com o mapeamento feito anteriormente…
Então eu estou alterando o mapeamento porem ao executar a criação das tables com o mapeamento modificado, esta sendo gerado com o mapeamento antigo… só isso! :)

Ah, você está usando geradores, nesse caso eu não posso nem ajudar, nunca usei eles não.

Diogenes

Faz um backup dos seus mapeamentos, delete-os do diretorio e rode o gerador de novo.

pmcn

Cara eu fiz o que vc falou, um backup e deletei a pasta onde continha os arq. .hbm.xml e mandei executar novamente o maven e o SessionFactory… criou as tables porem o arq. .hbm.xml não foram criados e meu sistema aqui esta fazendo acesso ao banco normalmente, tem algum prob. de eles não estarem lá? Digo posso deixar assim :lol:

Diogenes

Esse sistema seu tem a força! :mrgreen:

Devem haver alguns arquivos de mapeamento boiando por aih em algum lugar visível pra tua aplicaçao. Dê uma verificada.

Mauricio_Linhares

Diogenes:
Esse sistema seu tem a força! :mrgreen:

Devem haver alguns arquivos de mapeamento boiando por aih em algum lugar visível pra tua aplicaçao. Dê uma verificada.

Com certeza eles estão aí em algum lugar :lol:

Mas o sistema está funcionando normalmente mesmo? Até com as mudanças que você queria fazer?

pmcn

Não meus amigos, esse sistema não tem a força! :!:
Imaginei q estivesse tudo ok, mas não estava não…
Fiz o que o Diogenes indicou: deletei os arq. do xdoclet, e rodei novamente o Session e ele criou novamente o arq do xdoclet e eu imagino que ele tb tenha mapeado normalmente, porém não estou conseguindo fazer inserçoes no bd, o que antes acontecia… o q pode estar acontecendo…?

Diogenes

Dah algum erro?

pmcn

Cara já foi resolvido… muito obrigado! Encontrei novamente o caminho…

Criado 8 de junho de 2005
Ultima resposta 24 de jun. de 2005
Respostas 54
Participantes 5