ROOT
lib
antlr-2.7.6.jar
cglib-nodep-2.1_3.jar
commons-beanutils.jar
commons-collections.jar
commons-dbcp.jar
commons-logging.jar
dom4j-1.6.1.jar
ejb3-persistence.jar
hibernate3.jar
hibernate-annotations.jar
hibernate-commons-annotations.jar
jta.jar
mysql-connector-java-5.0.7-bin.jar
src
hibernate.cfg.xml
entidades
classe
Pessoa.java
PessoaFisica.java
PessoaJuridica.java
simples
Flor.java
Rosa.java
Tulipa.java
subclasse
Caminhao.java
Carro.java
Veiculo.java
servico
FlorServico.java
PessoaServico.java
VeiculoServico.java
util
HibernateUtil.java
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> <!-- Database connection settings --> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://localhost/hibernateHeranca</property> <property name="connection.username">root</property> <property name="connection.password">root</property> <property name="connection.pool_size">1</property> <!-- SQL dialect --> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <property name="show_sql">true</property> <property name="hbm2ddl.auto">create</property> <!-- Tabela por Classe --> <mapping class="entidades.classe.PessoaFisica"/> <mapping class="entidades.classe.PessoaJuridica"/> <!-- Tabela Simples / Tabela por Hierarquia --> <mapping class="entidades.simples.Tulipa"/> <mapping class="entidades.simples.Rosa"/> <mapping class="entidades.simples.Flor"/> <!-- Tabela por Subclasse --> <mapping class="entidades.subclasse.Veiculo"/> <mapping class="entidades.subclasse.Carro"/> <mapping class="entidades.subclasse.Caminhao"/> </session-factory> </hibernate-configuration>
Pessoa.java
package entidades.classe; import java.util.Date; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.MappedSuperclass; @MappedSuperclass public class Pessoa { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; private String nome; private Date dataNascimento; gets e sets ... }
PessoaFisica.java
package entidades.classe; import javax.persistence.Entity; import javax.persistence.Inheritance; import javax.persistence.InheritanceType; @Entity @Inheritance(strategy=InheritanceType.TABLE_PER_CLASS) public class PessoaFisica extends Pessoa{ private String cpf; public String getCpf() { return cpf; } public void setCpf(String cpf) { this.cpf = cpf; } }
PessoaJuridica.java
package entidades.classe; import javax.persistence.Entity; import javax.persistence.Inheritance; import javax.persistence.InheritanceType; @Entity @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) public class PessoaJuridica extends Pessoa { private String cnpj; private String nomeFantasia; gets e sets... }
Flor.java
package entidades.simples; import javax.persistence.DiscriminatorColumn; import javax.persistence.DiscriminatorType; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Inheritance; import javax.persistence.InheritanceType; @Entity @Inheritance(strategy = InheritanceType.SINGLE_TABLE) @DiscriminatorColumn(name = "tipo_flor", discriminatorType = DiscriminatorType.STRING) public class Flor { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) private Integer id; private String cor; gets e sets... }
Rosa.java
package entidades.simples; import javax.persistence.DiscriminatorValue; import javax.persistence.Entity; @Entity @DiscriminatorValue(value="ROSA") public class Rosa extends Flor{ private String tamanhoEspinho; public String getTamanhoEspinho() { return tamanhoEspinho; } public void setTamanhoEspinho(String tamanhoEspinho) { this.tamanhoEspinho = tamanhoEspinho; } }
Tulipa.java
package entidades.simples; import javax.persistence.DiscriminatorValue; import javax.persistence.Entity; @Entity @DiscriminatorValue(value = "TULIPA") public class Tulipa extends Flor{ }
Caminhao.java
package entidades.subclasse; import javax.persistence.Entity; import javax.persistence.PrimaryKeyJoinColumn; @Entity @PrimaryKeyJoinColumn(name = "id", referencedColumnName="id") public class Caminhao extends Veiculo { private String tipoCarga; private String altura; gets e sets... }
Carro.java
package entidades.subclasse; import javax.persistence.Entity; import javax.persistence.PrimaryKeyJoinColumn; @Entity @PrimaryKeyJoinColumn(name = "id", referencedColumnName = "id") public class Carro extends Veiculo { private String tamanhoPortamalas; private String qtdadePortas; gets e sets... }
Veiculo.java
package entidades.subclasse; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Inheritance; import javax.persistence.InheritanceType; @Entity @Inheritance(strategy = InheritanceType.JOINED) public class Veiculo { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; private String chassi; private String placa; private String modelo; gets e sets... }
FlorServico.java
package servico; import org.hibernate.Session; import util.HibernateUtil; import entidades.simples.Rosa; import entidades.simples.Tulipa; public class FlorServico { public static void main(String[] args) { FlorServico p = new FlorServico(); p.criarRosa(); p.criarTulipa(); } private void criarTulipa() { Tulipa f = new Tulipa(); f.setCor("Branca"); Session session = HibernateUtil.getSessionFactory().openSession(); session.beginTransaction(); session.save(f); session.getTransaction().commit(); } private void criarRosa() { Rosa f = new Rosa(); f.setTamanhoEspinho("Grandes"); f.setCor("Vermelha"); Session session = HibernateUtil.getSessionFactory().openSession(); session.beginTransaction(); session.save(f); session.getTransaction().commit(); } }
PessoaServico.java
package servico; import java.util.Date; import org.hibernate.Session; import util.HibernateUtil; import entidades.classe.PessoaFisica; import entidades.classe.PessoaJuridica; public class PessoaServico { public static void main(String[] args) { PessoaServico p = new PessoaServico(); p.criarPessoaFisica(); p.criarPessoaJuridica(); } private void criarPessoaJuridica() { PessoaJuridica p = new PessoaJuridica(); p.setCnpj("123465"); p.setDataNascimento(new Date()); p.setNome("PJ 01"); p.setNomeFantasia("PJ Nome Fantasia 01"); Session session = HibernateUtil.getSessionFactory().openSession(); session.beginTransaction(); session.save(p); session.getTransaction().commit(); } private void criarPessoaFisica() { PessoaFisica p = new PessoaFisica(); p.setCpf("123465"); p.setDataNascimento(new Date()); p.setNome("PF 01"); Session session = HibernateUtil.getSessionFactory().openSession(); session.beginTransaction(); session.save(p); session.getTransaction().commit(); } }
VeiculoServico.java
package servico; import org.hibernate.Session; import util.HibernateUtil; import entidades.subclasse.Caminhao; import entidades.subclasse.Carro; public class VeiculoServico { public static void main(String[] args) { VeiculoServico p = new VeiculoServico(); p.criarCarro(); p.criarCaminhao(); } private void criarCaminhao() { Carro v = new Carro(); v.setChassi("WQERW131354WER"); v.setModelo("AUDI"); v.setPlaca("DHS8938"); v.setQtdadePortas("5"); v.setTamanhoPortamalas("30L"); Session session = HibernateUtil.getSessionFactory().openSession(); session.beginTransaction(); session.save(v); session.getTransaction().commit(); } private void criarCarro() { Caminhao v = new Caminhao(); v.setChassi("AASD987897ASD987"); v.setModelo("SCANIA"); v.setPlaca("HTR7848"); v.setAltura("5m"); v.setTipoCarga("Animal"); Session session = HibernateUtil.getSessionFactory().openSession(); session.beginTransaction(); session.save(v); session.getTransaction().commit(); } }
HibernateUtil.java
package util; import org.hibernate.SessionFactory; import org.hibernate.cfg.AnnotationConfiguration; public class HibernateUtil { private static final SessionFactory sessionFactory; static { try { // Criando a SessionFactory apartir no hibernate.cfg.xml sessionFactory = new AnnotationConfiguration().configure() .buildSessionFactory(); } catch (Throwable ex) { System.err.println("Não foi possivel criar a SessionFactory." + ex); throw new ExceptionInInitializerError(ex); } } public static SessionFactory getSessionFactory() { return sessionFactory; } }
Nenhum comentário:
Postar um comentário