Criando tabelas no MySQL usando o Hibernate

1 resposta
T

Olá!
Bom gente não estou conseguindo gerar os campos de uma tabela no banco utilizando o hibernate. Não faço a minima de onde estou errando, e não acontece erro nenhum ao executar.
Como sou iniciante, estou meio perdida. Podem me ajudar? Segue o código.

PERSISTENCE.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" 
xmlns="http://java.sun.com/xml/ns/persistence" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
  <persistence-unit name="mycontext">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <class> DAO.CodigoN </class>
    <properties>
      <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLInnoDBDialect"/>
      <property name="hibernate.connection.username" value="root"/>
      <property name="hibernate.connection.password" value="root"/>
      <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/ocorrenciasambientais"/>
      <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
      <property name="hibernate.hbm2ddl.auto"> update</property>
      <property name="hibernate.show_sql">true</property>  
      <property name="hibernate.format_sql">true</property> 
      
      <mapping class="DAO.OcorrenciaAmbiental"/>   
    </properties>
  </persistence-unit>
</persistence>

DAO

OcorrenciaAmbientalDAO
package DAO;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;
import javax.persistence.NoResultException;
import javax.persistence.Query;

import model.LoginUsuarioModel;
import model.OcorrenciaAmbientalModel;
import model.PesquisaOcorrenciaAmbientalModel;

import org.hibernate.exception.ConstraintViolationException;

import utils.OpcaoFiltro;
import view.LoginUsuarioView;
import view.OcorrenciaAmbientalView;

public class OcorrenciaAmbientalDAO {
	private EntityManager em;
	
	public OcorrenciaAmbientalDAO(EntityManager em) {
		this.em = em;
	}
	
	public void save(OcorrenciaAmbiental ocorrenciaAmbiental) {
		EntityTransaction et = em.getTransaction();
		et.begin();
		
		if (em.contains(ocorrenciaAmbiental)) {
			em.merge(ocorrenciaAmbiental);
		} else {
			em.persist(ocorrenciaAmbiental);
		}
		et.commit();
	}
	
	public List<OcorrenciaAmbiental> getOcorrenciasAmbientais(OpcaoFiltro opcaoFiltro, String valor) {
		Query query;
		
		if (opcaoFiltro.getCodigo() == PesquisaOcorrenciaAmbientalModel.OPCAO_CODIGO && !valor.equals("")) {
			query = em.createNamedQuery(OcorrenciaAmbiental.QUERY_OCORRENCIAAMBIENTAL_COA);
		    query.setParameter("coa", valor);
		} else if (opcaoFiltro.getCodigo() == PesquisaOcorrenciaAmbientalModel.OPCAO_DESCRICAO && !valor.equals("")) {
			query = em.createNamedQuery(OcorrenciaAmbiental.QUERY_OCORRENCIAAMBIENTAL_DESCRICAO);
		    query.setParameter("descricao", valor);
		} else if (opcaoFiltro.getCodigo() == PesquisaOcorrenciaAmbientalModel.OPCAO_TELEFONE && !valor.equals("")) {
			query = em.createNamedQuery(OcorrenciaAmbiental.QUERY_OCORRENCIAAMBIENTAL_TELEFONE);
		    query.setParameter("telefone", valor);
		} else {
			query = em.createNamedQuery(OcorrenciaAmbiental.QUERY_TODOS_OCORRENCIASAMBIENTAIS);		    
		}
		return query.getResultList();
	}

	
	public String getNovoCodigo() {
		OcorrenciaAmbiental ocorrenciaAmbiental = null;
		Date data = new Date();  
		SimpleDateFormat formatador = new SimpleDateFormat("yyyy"); 
		formatador.format(data);
		
		String cons = "from ocorrenciaambiental where oid = (select max(oid) from ocorrenciaambiental)";
		Query qr = em.createQuery(cons);
		
		ocorrenciaAmbiental = (OcorrenciaAmbiental) qr.getSingleResult();
		int sequencial =  ocorrenciaAmbiental.getOID() + 1;	
		
		
		System.out.println("aqui");
		
		/*int contador = 000;
		int numMax = 999;
		int sequencial = 000;
				
		while (contador<numMax)
		{
			//sequencial = contador;
			contador++;
		}*/
				
		try {
			String teste = "COA" + sequencial + "/" + formatador.format(data);
			return teste;
		} catch (NoResultException e) {
			return "COA02";
		}
	}
	
	/*public LoginUsuarioView getPolicialLogado(){
		LoginUsuarioView login = null;
		
		String cons = "select nome from PolicialMilitar where matricula = ?";	
		Query qr = em.createQuery(cons);
		qr.setParameter(1, login.getLogin());
		try {
			login = (LoginUsuarioView) qr.getSingleResult();
			return login;
		} catch (NoResultException e) {
			throw e;
		}
	}*/
	
		
	public void remover(OcorrenciaAmbiental ocorrenciaAmbiental) throws Exception {		
		try {
			EntityTransaction et = em.getTransaction();
			et.begin();
			em.remove(ocorrenciaAmbiental);
			et.commit();
		} catch (ConstraintViolationException ex) {
			throw ex;
		}		
	}
}

OCORRENCIAAMBEINTAL

package DAO;

import java.io.Serializable;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToOne;

@Entity

@NamedQueries({
    @NamedQuery(name="QTodosOcorrenciasAmbientais",query="from OcorrenciaAmbiental order by coa"),
    @NamedQuery(name="QOcorrenciaAmbientalByCoa",query="from OcorrenciaAmbiental where coa = :coa order by coa"),
    @NamedQuery(name="QOcorrenciaAmbientalByDescricao",query="from OcorrenciaAmbiental where descricao = :descricao order by coa"),
    @NamedQuery(name="QOcorrenciaAmbientalByTelefone",query="from OcorrenciaAmbiental where telefone = :telefone order by coa"),
})

public class OcorrenciaAmbiental implements Serializable {

	public static final String QUERY_TODOS_OCORRENCIASAMBIENTAIS = "QTodosOcorrenciasAmbientais";
	public static final String QUERY_OCORRENCIAAMBIENTAL_COA = "QOcorrenciaAmbientalByCodigo";
	public static final String QUERY_OCORRENCIAAMBIENTAL_DESCRICAO = "QOcorrenciaAmbientalByDescricao";
	public static final String QUERY_OCORRENCIAAMBIENTAL_TELEFONE = "QOcorrenciaAmbientalByTelefone";
	private static final long serialVersionUID = 6655415509439596696L;

	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	private int OID;
	@Column(nullable= false)
	private String coa;
	@Column(nullable= false)
	private String descricao;
	@Column(nullable= false)
	private String telefone;
	@Column(nullable= false)
	private String pessoaDenuncia;
	@Column(nullable= false)
	private String endDenuncia;
	@Column(nullable= false)
	private String bairroDenuncia;
	@Column(nullable= false)
	private String formaRecebOA;
	@Column(nullable= false)
	private String encamOrgaoResp;
	@Column(nullable= false)
	private String nomeResp;
	@Column(nullable= false)
	private String contatoResp;
	@Column(nullable= false)
	private String descOcorrencia;
	@ManyToOne(cascade= CascadeType.PERSIST, optional=false) 
	private Localizacao localizacao;
	
	@Column(nullable= false)
	private String dataAtual;
	@Column(nullable= false)
	private String horaAtual;
	
	public Localizacao getLocalizacao() {
		return localizacao;
	}
	public void setLocalizacao(Localizacao localizacao) {
		this.localizacao = localizacao;
	}
	/*@Column(nullable= false) 
	private Localizacao localizacao;
	@Column(nullable= false)
	private CodigoN codigoN;*/
	//@Column(nullable= false)
	//private boolean encamOrgaoResp;
	
	/*public boolean isEncamOrgaoResp() {
		return encamOrgaoResp;
	}

	public void setEncamOrgaoResp(boolean encamOrgaoResp) {
		this.encamOrgaoResp = encamOrgaoResp;
	}*/
	
	public String getCoa() {
		return coa;
	}

	public void setCoa(String coa) {
		this.coa = coa;
	}

	
	public String getDataAtual() {
		return dataAtual;
	}
	public void setDataAtual(String dataAtual) {
		this.dataAtual = dataAtual;
	}
	public String getHoraAtual() {
		return horaAtual;
	}
	public void setHoraAtual(String horaAtual) {
		this.horaAtual = horaAtual;
	}
	public String getDescricao() {
		return descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	public int getOID() {
		return OID;
	}

	public void setOID(int oid) {
		OID = oid;
	}

	public String getTelefone() {
		return telefone;
	}

	public void setTelefone(String telefone) {
		this.telefone = telefone;
	}

	public String getPessoaDenuncia() {
		return pessoaDenuncia;
	}

	public void setPessoaDenuncia(String pessoaDenuncia) {
		this.pessoaDenuncia = pessoaDenuncia;
	}

	public String getEndDenuncia() {
		return endDenuncia;
	}

	public void setEndDenuncia(String endDenuncia) {
		this.endDenuncia = endDenuncia;
	}

	public String getBairroDenuncia() {
		return bairroDenuncia;
	}

	public void setBairroDenuncia(String bairroDenuncia) {
		this.bairroDenuncia = bairroDenuncia;
	}

	public String getFormaRecebOA() {
		return formaRecebOA;
	}

	public void setFormaRecebOA(String formaRecebOA) {
		this.formaRecebOA = formaRecebOA;
	}

	public String getEncamOrgaoResp() {
		return encamOrgaoResp;
	}

	public void setEncamOrgaoResp(String encamOrgaoResp) {
		this.encamOrgaoResp = encamOrgaoResp;
	}

	public String getNomeResp() {
		return nomeResp;
	}

	public void setNomeResp(String nomeResp) {
		this.nomeResp = nomeResp;
	}

	public String getContatoResp() {
		return contatoResp;
	}

	public void setContatoResp(String contatoResp) {
		this.contatoResp = contatoResp;
	}

	public String getDescOcorrencia() {
		return descOcorrencia;
	}

	public void setDescOcorrencia(String descOcorrencia) {
		this.descOcorrencia = descOcorrencia;
	}
	
	
	
	/*public Localizacao getLocalizacao() {
		return localizacao;
	}
	public void setLocalizacao(Localizacao localizacao) {
		this.localizacao = localizacao;
	}
	
	public CodigoN getCodigoN() {
		return codigoN;
	}
	public void setCodigoN(CodigoN codigoN) {
		this.codigoN = codigoN;
	}*/	
}

PS: O que está comentado deve ser ignorado.

Obrigaada! Espero retorno,
Tati.

1 Resposta

Anime

Oi tatianevalle,

Espero que ajude http://rrmartins.com/blog/?p=549

Boa sorte!

Criado 2 de dezembro de 2010
Ultima resposta 2 de dez. de 2010
Respostas 1
Participantes 2