Duvida Hibernate

blz galera?

To aprendendo a usar o Hibernate.
Me veio 2 dúvidas.

1)
Na hora de montar o arquivo NomeDaClassa.hbm.xml existe alguma forma do eclipse me ajudar a montar todo aquele XML? tipo dando dicas, como se fosse um editor html/xml?

To apanhando pra montar.

2)
O arquivo de Conexão o QualquerCoisa.properties, posso “larga” ele em qualquer lugar ou tem que ficar em algum lugar especifico??

Valeu Galera

==========================

Ae, dúvida de ultima hora!
Tava estudando aqui usando esse tutorial.

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

 import cirrus.hibernate.*;
 import java.util.Date;
 
 public class AmigoDAO{
 
     private SessionFactory factory;
 
     public AmigoDAO() throws Exception{
         Datastore datastore = Hibernate.createDatastore();
         datastore.storeClass(Amigo.class);
         factory = datastore.buildSessionFactory();
     }
     
     public void insert(Amigo amigo) throws Exception{
         Session session = factory.openSession();
         session.save(amigo);
         session.flush();
         session.close();
     }
     
     public java.util.List getList(String condicao) throws Exception{
         Session session = factory.openSession();
         List amigos = session.find(condicao);
         session.flush();
         session.close();
         return amigos;
     }
     
     public Amigo retrieve(String pk) throws Exception{
         Session session = factory.openSession();
         Amigo amigo = (Amigo)session.load(Amigo.class, pk);
         session.flush();
         session.close();
         return amigo;
     }
     
     public void delete(Amigo amigo) throws Exception{
         Session session = factory.openSession();
         session.delete(amigo);
         session.flush();
         session.close();
     }
 }

Daonde ele tirou esse import da linha 01?

Eu to acostumado a usar os imports de org.hibernate.*;
Só que lá eu não achei a Classe Datastore da linha 09.

Como que eu faço?
To meio confuso, até os tutoriais “Básicos” pegam pesado…

Este é um pacote pessoal, do cara que fez o tutorial, provavelmente ele criou um pacote de utilidades pra ele usar o hibernate…

Não use org.hibernate.*;

na verdade não use nada.*; isso é uma pessima pratica, importe apenas o que vc precisar, assim vc saberá sempre de onde esta vindo as coisas…

No eclipse uma forma rápida de fazer isso é…

Digamos que vc ker usar Session… que é do hibernate… escreva … Session e digite CTRL+SPACE … ele vai listar as possiveis classes a importar… ai vc escolhe a do Hibernate… vc não precisa digitar o nome completo da classe pode digitar apenas uma parte…

Se eu fosse te aconselhar, dirita pra não usar os .xml … eu axo melhor usar annotations (anotações) assim fica tudo no mesmo canto… eu particularmente acho melhor q criar uma porrada de .xml…

o arquivo .properties deve ficar no SRC, pois ai o eclipse copia automaticamente par ao raiz da pasta bin, onde fica as classes binarias…

O hibernate é bem simples… depois que vc criar a Session a partir da SessionFactory … vc pode fazer quase tudo com esse objeto, incluir, deletar, etc etc… é bem completo…

Esse tutorial que vc ta seguindo esta usando uma versão antiga do Hibernate, eu tambem tive problemas com esse tutorial quando comecei a estudar Hibernate. Aconselho a voce seguir esse tutorial aqui do GUJ ja da versão 3 do hibernate http://www.guj.com.br/content/articles/hibernate/intruducao_hibernate3_guj.pdf. Mas como o amigo falou, o melhor é depois de vc aprender o basico a a prender Annotatons. Mas se voce quer ajuda pra montar os mapeamentos em xml vc pode usar o plugin do Hibernate para o eclipse (acho que tambem deve ter pro netbeans). Abraços.

Aew… eh… não gosto muito de mapear com xml… é ruim… porque vc não tenta anotação?

por que não sei fazer isso…to aprendendo ainda.

Se você tiver um tutorial ai que ensine eu dou uma olhada. :cry:

Anotação é bem simples… vou te dar um exemplo…

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="TBVEICULOS") //necessario essa anotação, pois o nome da tabela é diferente do nome da classe
public class Veiculo{
	@Id protected String placa; //campo Chave Primária por isso o @Id
	protected String modelo;
	//Ps.: como os meus fields acima tem os mesmos nomes dos campos da tabela não preciso fazer anotações
	@Column(name="cod_chassi",unique=true) String chassi; //a anotação existe pra dizer que o campo é unico, e que seu nome na tabela é cod_chassi
}

esse código acima funciona para uma tabela "TBVEICULOS" com campos "PLACA", "MODELO", "COD_CHASSI" … onde placa é chave primária e chassi é unico

… exemplo de uso

[code]/**Apenas para constar, os imports aqui são
import java.util.List;

import org.hibernate.SessionFactory;
import org.hibernate.Session;

*/
SessionFactory sf = new AnnotationConfiguration()
.addAnnotatedClass(Veiculo.class) //adciona a classe anotada a configuração.
.buildSessionFactory(); //cria a fabrica de sessão

Session s = sf.openSession(); //abre uma sessão pra se comunicar com o banco
List list = s.createCriteria(Veiculo.class).list(); //lista todos os veiculos
for (Veiculo v : list) { //percorre todos os veiculos
System.out.println(v.placa + " " + v.modelo + " " v.chassi); //imprime cada veiculo.
}[/code]

da uma olhada aki ===>> http://www.guj.com.br/java.tutorial.artigo.174.1.guj

a proposta inicial desse artigo não é explicar anotações extamente, e sim como criar banco transacional, mais acho que deve ter algo que se aproveite referente a este assunto ^^

se souber inglês…

http://www.hibernate.org/hib_docs/annotations/reference/en/html/

[quote=caio77]blz galera?

1)
Na hora de montar o arquivo NomeDaClassa.hbm.xml existe alguma forma do eclipse me ajudar a montar todo aquele XML? tipo dando dicas, como se fosse um editor html/xml?

To apanhando pra montar.
[/quote]

JBossTools tem um editor legal para os xml do hibernate

http://www.jboss.org/tools/