Alex Florentino

KISS - Keep It Simple, Stupid
August 12th, 2007

Hibernate + Annotations = Simplicidade

Hoje resolvi testar este tal de Hibernate com já famosas annotations e para minha surpresa é extremamente simples e eficiente :) .

Para ter isso rodando em sua maquina você primeiro precisa baixar o hibernate core e Hibernate Annotations que podem ser encontrados aqui, mais cuidado com as versões das bibliotecas, eu tive problemas em rodar hibernate com annotations mais o erro foi utilizar hibernate core 3.1 na verdade isso nunca daria certo, pois o hibernate annotations não é compativel com a versão 3.1 do Hibernate.

Você também precisa do driver jdbc do seu banco de dados, no caso utilizo o MySQL.

Pronto! com dezenas de megas baixados vamos para parte legal, o seguinte código tem um exemplo bem simples de ter isso rodando.

Basta criar um projeto java no fantástico eclipse adicionar os jars ao projeto(ou criar uma biblioteca com os jars) depois criar um pacote chamado test e por o seguintes os códigos:

O Java Bean :


package test;

import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.*;

@Entity
@Table(name="Address")
public class Address {

@Id @GeneratedValue
@Column(name="Address_ID")
private int id;

@Column(name="street")
private String street;

@Column(name="state")
private String state;

@Column(name="zipCode")
private String zipCode;

@Column(name="city")
private String city;

@Column(name="aptNumber")
private String aptNumber;

//get and setters, aqui :) 

Nossa classe Main:


package test;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;

public class Main {

public static void main(String args[]) {

new Main().addAddress();

}

public void addAddress() {

AnnotationConfiguration cfg = new AnnotationConfiguration();

cfg.setProperty("hibernate.dialect","org.hibernate.dialect.MySQLDialect");
cfg.setProperty("hibernate.connection.driver_class", "com.mysql.jdbc.Driver");
cfg.setProperty("hibernate.connection.url", "jdbc:mysql://localhost/test");
cfg.setProperty("hibernate.current_session_context_class", "thread");
cfg.setProperty("hibernate.connection.username", "root");
cfg.setProperty("hibernate.connection.password", "senhaaqui");
cfg.setProperty("hibernate.show_sql", "true");
cfg.setProperty("hibernate.hbm2ddl.auto", "create");

cfg.addAnnotatedClass(test.Address.class);

SessionFactory sessionFactory = cfg.buildSessionFactory();

Session session = sessionFactory.getCurrentSession();

session.beginTransaction();
test.Address address = new test.Address();

address.setAptNumber("15");
address.setCity("ALA");
address.setState("SP");
address.setZipCode("1700000");
address.setStreet("Ola teste");

session.save(address);

session.getTransaction().commit();

sessionFactory.close();

}

}

execute a classe e se tudo correr bem, pronto você já tem hibernate + annotations rodando e pode continuar seus estudos.

Leave a Reply