Antes de começar lembre-se todos os arquivos são no mesmo pacote, e vai presisar do jar do hibernate que tem no site www.hibernate.org para funcionar a aplicação.
Obs: exemplo foi testado no MYSQL.
Para criar uma aplicação com hibernate primeiramente crie uma classe para a persistencia
public class Pessoa {
private String nome;
private String email;
private String telefone;
private Endereco endereco;
private Integer id;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Endereco getEndereco() {
return endereco;
}
public void setEndereco(Endereco endereço) {
this.endereco = endereço;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
}
classe para configurar o hibernate:
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class HibernateUtility {
private static SessionFactory factory;
static {
//Bloco estático que inicializa o Hibernate
try {
factory = new Configuration().configure().buildSessionFactory();
} catch (Exception e) {
e.printStackTrace();
factory = null;
}
}
public static Session getSession() {
return factory.openSession();
}
}
crie o arquivo
"Pessoa.hbm.xml"
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping
PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
Pergunta
???
Antes de começar lembre-se todos os arquivos são no mesmo pacote, e vai presisar do jar do hibernate que tem no site www.hibernate.org para funcionar a aplicação.
Obs: exemplo foi testado no MYSQL.
Para criar uma aplicação com hibernate primeiramente crie uma classe para a persistencia
public class Pessoa {
private String nome;
private String email;
private String telefone;
private Endereco endereco;
private Integer id;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Endereco getEndereco() {
return endereco;
}
public void setEndereco(Endereco endereço) {
this.endereco = endereço;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
}
classe para configurar o hibernate:
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class HibernateUtility {
private static SessionFactory factory;
static {
//Bloco estático que inicializa o Hibernate
try {
factory = new Configuration().configure().buildSessionFactory();
} catch (Exception e) {
e.printStackTrace();
factory = null;
}
}
public static Session getSession() {
return factory.openSession();
}
}
crie o arquivo
"Pessoa.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="Pessoa">
<!-- Identificador da classe -->
<id name="id">
<generator class="increment"/>
</id>
<!-- Propriedades da classe -->
<property name="nome"/>
crie o arquivo:
"Hibernate.cfg.xml"
<!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.dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property
name="hibernate.connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property
name="hibernate.connection.url">
jdbc:mysql://localhost/hibernate?autoReconnect=true
</property>
<property
name="hibernate.connection.username">
root
</property>
<property
name="hibernate.connection.password">
</property>
<!-- Condiguração do c3p0 -->
<property name="hibernate.c3p0.max_size">10</property>
<property name="hibernate.c3p0.min_size">2</property>
<property name="hibernate.c3p0.timeout">5000</property>
<property name="hibernate.c3p0.max_statements">10</property>
<property name="hibernate.c3p0.idle_test_period">3000</property>
<property name="hibernate.c3p0.acquire_increment">2</property>
<!-- Configurações de debug -->
<property name="show_sql">true</property>
<property name="use_outer_join">true</property>
<property name="hibernate.generate_statistics">true</property>
<property name="hibernate.use_sql_comments">true</property>
<mapping resource="Pessoa.hbm.xml"/>
</session-factory>
</hibernate-configuration>
<property name="telefone"/>
<property name="email"/>
<!-- Relacionamento da classe -->
<one-to-one
name="endereco"
class="Endereco"
cascade="save-update"/>
</class>
</hibernate-mapping>
crie o arquivo:
"log4j.properties"
### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}\:%L - %m%n
### direct messages to file hibernate.log ###
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=hibernate.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}\:%L - %m%n
### set log levels - for more verbose logging change 'info' to 'debug' ###
log4j.rootLogger=warn, stdout, file
#log4j.logger.org.hibernate=info
log4j.logger.org.hibernate=debug
### log just the SQL
#log4j.logger.org.hibernate.SQL=debug
### log JDBC bind parameters ###
log4j.logger.org.hibernate.type=info
#log4j.logger.org.hibernate.type=debug
### log schema export/update ###
log4j.logger.org.hibernate.tool.hbm2ddl=debug
### log HQL parse trees
#log4j.logger.org.hibernate.hql=debug
### log cache activity ###
#log4j.logger.org.hibernate.cache=debug
### log JDBC resource acquisition
#log4j.logger.org.hibernate.jdbc=debug
### enable the following line if you want to track down connection ###
### leakages when using DriverManagerConnectionProvider ###
#log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider=trace
crie no banco de dados :
CREATE TABLE Pessoa (
id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
nome VARCHAR(255) NULL,
email VARCHAR(255) NULL,
telefone VARCHAR(255) NULL,
PRIMARY KEY(id)
)
Agora teste a aplicação com esta classe
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.Transaction;
public class Teste {
public static void main(String[] args) {
Session sessao = HibernateUtility.getSession(); //Abrindo uma sessão
Transaction transaction = sessao.beginTransaction(); //Iniciando uma transação´
Pessoa p=new Pessoa();
p.setNome("nome teste");
p.setEndereco("endereco teste");
sessao.save(p); //Transformando o objeto transiente em um objeto
//persistente no banco de dados
transaction.commit(); //Finalizando a transação
System.out.println("Persistencia"+sessao.isConnected());
sessao.close(); //Fechando a sessão
}
}
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.