Dúvida Hibernate

5 respostas
I

Boa tarde galera,

Estou com uma dúvida que pode parecer simples, mas não esta claro para mim…

Gostaria de saber se é possível substituir o mapeamento da classe do hibernate.cfg.xml para annotation?

por exemplo, ao invés de fazer no cfg:

Teria alguma solução para fazer esse mapeamento via Annotation?

Bem procurei na net e até agora não encontrei nada, pode ser que eu não esteja procurando corretamente.

Se alguem puder ajudar, agradeço!

5 Respostas

drsmachado

Plenamente possível.
Me diga uma coisa, como você pesquisou? Pois sempre que eu preciso, eu encontro várias coisas.

igor_ks

Nossa, nao achou? Como assim?

pra fazer por XML, vc deve ter achado só tutoriais antigoss

Quer tutoriais atuais, certeiros e tem tudo que vc precisa sobre Hibernate?

http://www.hibernate.org/docs

R

Delete o seu cfg.xml.

Na classe, voce configura assim, um exemplo;

@Entity  // Toda classe precisar ser declarada como uma entidade.
@Table(name="tabela_caboco") // Se quiser que o nome da tabela seja o mesmo nome da classe, basta retirar essa anotacao @Table, que automaticamente o hibernate cria a tabela de acordo com o nome da classe
public class Aluno implements Serializable {        // Toda classe que será usada na persistencia precisa implementar a interface Serializable

     @Id    // Essa anotacao indica que a variavel logo em seguida sera uma chave primaria
     @SequenceGenerator(name="ALUNO_GENERATION", sequenceName="aluno_id_seq", allocationSize=1) // Anotacao para geracao automatica da chave primaria, por favor, veja o que cada parametro faz na net, pra nao ficar escrevendo muito coisa aqui, hehehehe.
     @GeneratedValue(name='ALUNO_GENERATION')
     @Column(name="nome_da_coluna") // Se quiser colocar um nome para coluna diferente do nome da variavel, voce pode especificar, se quiser que o hibernate faça automaticamente, nem precisa colocar o @Column,(eu prefiro deixar a tabela de acordo com a classe).
     private Integer id;

     @Column(length=50)  // Voce pode tb especificar o tamanho de valores que a coluna irá receber.
     private String nome;

     ..... Seus Getters and Setters .....

}

Substitua o seu cfg.xml, pelo hibernate.properties, e coloque o conteudo como o logo abaixo, vou da um exemplo do PostgreSQL:

hibernate.connection.driver_class = org.postgresql.Driver  // O driver do seu DB
hibernate.connection.url = jdbc:postgresql://localhost:PORTA/NOME_DA_TABELA // Aqui a url de conexao ao DB
hibernate.connection.username = postgres  // Usuario do DB
hibernate.connection.password = SENHA    // Senha do DB
hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
hibernate.show_sql = true    // Se quiser mostrar os comandos SQL no console
hibernate.format_sql = true  // Se quiser mostrar os comandos SQL organizadamente
hibernate.pool_size = 10  // Numero de conexoes
hibernate.hbm2ddl.auto = create // Aqui indica que o hibernate vai criar a tabela, caso nao exista. Depois de criada eu comento essa linha.
R

Nao esquece de instalar os JARs no seu projeto…

drsmachado

Sinceramente, esse guj está uma merda.
Cara, [color=red]NUNCA[/color] dê as respostas de mão beijada.
O sujeito que abriu o tópico nitidamente:

  • Tem preguiça de pesquisar ou
  • Não sabe pesquisar ou
  • Não quer pesquisar
    Logo, você aí, se achando o bom samaritano, vem e entrega tudo assim, acaba de ser ludibriado.
    Sério, basta buscar no google da forma adequada que aparecem milhares de resultados.

E, sinceramente, eu to quase desistindo disso aqui por conta de situações como esta.

Criado 16 de outubro de 2012
Ultima resposta 16 de out. de 2012
Respostas 5
Participantes 4