Gerar Classes no Eclipse 3

6 respostas
flaviotomazio

Estou fazendo meu TCC, e ele tem muitas, mas muitas classes. Existe um modo de ele gerar as classes a partir do BD como o NetBeans 6 faz?

6 Respostas

fabiojwalter

Voce pode utilizar o hiberclipse http://hiberclipse.sourceforge.net/
ou as hibernate tools http://tools.hibernate.org/ dos próprios desenvolvedores, ambos fornecem mecanismos de geração de código java, arquivos de mapeamento .hbm.xml, pojos com annotations do hibernate, e engenharia reversa dos mapeamentos gerando o banco, para que a estrutura de seu BD sempre esteja atualizada.

Eu costumo usar o hibernate tools mas antigamente já utilizei o hiberclipse e funciona muito bem, baixe o plugin correto para o Eclipse 3, pois o primeiro link la no site é para Eclipse 2.

Anexo estou lhe enviando um script que automatiza estas tarefas, usando o ANT, este script funciona quando voce tem as libs do hibernate tools em de um diretório lib dentro de sua aplicação. Crie este diretório jogue as libs dentro configure o hibernate conforme sua necessidade para isso voce pode utilizar os links http://www.guj.com.br/posts/list/65003.java e com está apostila que tem fóco na web mais te ajudará com a introdução ao Hibernate http://www.caelum.com.br/caelum/apostila/caelum-java-web-fj28.pdf

Qualquer coisa estamos aí!

romuloff

Se alguem puder me ajudar a usar o jboss tools / hibernate tools para gerar as classes POJO já com os anotations ficaria grato.
Tem como gerar direto do banco com essa ferramenta ? Somente criando o hibernate configuration ? Pq pelo que estou lendo em alguns lugares está precisando de hbm. E eu quero os mapping via annotations e nao xml.
Tb nao entendi a forma de agregar esse build.xml no hibernate tools.
No momento estou lendo o hibernate tools reference guide pra tentar descobrir algo mas não estou achando como fazer o que quero da maneira que quero.

no meu hibernate configurations a opção Database fica "pending..." e nas outras nao dá pra fazer nada :(
Poderia ter uma opção "Generate POJOs with annotations using this connection"
[img]http://i26.photobucket.com/albums/c108/romuloff/ScreenShot005-hibernate.jpg[/img]

[color=red][size=18]Pra ajudá-los a me ajudarem este é o meu ambiente:[/size][/color]

meu hibernate config:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
		"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
		"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        
        <!-- Database connection settings -->
        <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
        <property name="hibernate.connection.url">jdbc:oracle:thin:@127.0.0.1:1521:XE</property>
        <property name="hibernate.connection.username">ctbcsan</property>
        <property name="hibernate.connection.password">THE_PASS</property>
        
        <!-- SQL dialect -->
        <property name="hibernate.dialect">org.hibernate.dialect.OracleDialect</property>
        
        <!-- Echo all executed SQL to stdout -->
        <property name="hibernate.show_sql">true</property>
        <property name="hibernate.format_sql">true</property>
        <property name="hibernate.use_sql_comments">true</property>
        
    </session-factory>
</hibernate-configuration>
meu hibernate.properties
## Oracle
hibernate.dialect=org.hibernate.dialect.OracleDialect
hibernate.connection.driver_class=oracle.jdbc.driver.OracleDriver
hibernate.connection.username=ctbcsan
hibernate.connection.password=THE_PASS
hibernate.connection.url=jdbc:oracle:thin:@127.0.0.1:1521:XE

e a config do hibernate configuration no eclipse:
[img]http://i26.photobucket.com/albums/c108/romuloff/ScreenShot002-hibernate.jpg[/img]
[img]http://i26.photobucket.com/albums/c108/romuloff/ScreenShot003-hibernate.jpg[/img]
[img]http://i26.photobucket.com/albums/c108/romuloff/ScreenShot004-hibernate.jpg[/img]

romuloff

O menuzinho aí de cima saiu do “pending…” . Entao quer dizer que minhas configurações descritas acima estão corretas
Mas e agora ? O que fazer para gerar os POJO’s com annotations ?
Estou procurando algo tipo “Generate POJOs with annotations using this database” :smiley:
[color=red]Me ajudem aí ! Acho que falta pouco, nao ?[/color]

fabiojwalter

Existe tambem a versão EE do Eclipse que prove recursos para projetos JPA. Com recursos avançados de engenharia reversa.

Veja aqui o exemplo:
http://download.oracle.com/docs/cd/E14545_01/help/oracle.eclipse.tools.orm.doc/html/files/genJPAEntities.html

espero ter ajudado!

romuloff

Olá Fabio,

Muito obrigado pela indicação.
Com certeza isso irá ajudar.
Mas já estou com alguns problemao e dúvida:

A duvida:
No tutorial do link; logo na figura1 mostra que existe a opção “Generating Custom JPA Entities” quando aqui no meu só aparecem 2 opções: “Generate DDL” e “Generate Entities”.

O problema:
A conexão do banco especificada ao criar o JPA Project já aparece no “Data Source Explorer” ; tambem está conectando e na opção “ping…” dá “ping suceed”.
Mas quando eu clico no identificador do banco com uma setinha para propagar mais informações ele dá o seguinte erro:
[color=red]‘Loading core provider’ has encountered a problem. An internal error occurred during: “Loading Core provider”.java.lang.NullPointerException[/color]

Acho que por causa deste problema que quando tento gerar as entidades (botao direito projeto -> JPA Tools -> Generate Entities) ele fica lendo e lendo e trava o eclipse totalmente por varios minutos ( já esperei mais de 20 min e nada acontece e continua travado me forçando a finalizar o processo do eclipse ).
O pior de tudo deste erro é que nem o google me ajudou: link pesquisa

Parece que o plugin real utilizado para este tutorial que o fabio passou é este plugin Dali , que fala que já vem no eclipse 3.4.x/Ganymede mas a verdade é que ele nao aparecia na minha lista de “installed software”. Entao estou fazendo os seguintes updates para ver se resolve algo:

edit: estas atualizações acima NAO resolveram. dá o mesmo erro no “expand” do banco (Loading Core provider NullPointerException) e continua travando tudo ao utilizar o Generate Entities.

romuloff

Resolvi o problema do “Loading Core provider NullPointerException” [size=20]MAS[/size] [color=red]na hora do Generate Entities continua travando[/color] :cry:
Alguem sabe solução pra isso ?

Pra resolver o problema; depois do primeiro update, façam tambem estes outros updates
Depois disso tudo executem o eclipse utilizando “eclipse.exe -clean”

Alguem que já tenha utilizado esta forma sabe se realmente demora mais que 20 min para executar este Generate Entities ?

Criado 13 de setembro de 2008
Ultima resposta 28 de mai. de 2009
Respostas 6
Participantes 3