Boa noite, sou estudando na linguagem java e estou iniciando a persistência utilizando o frameWork Hibernate:
O meu problema atual é o seguinte estou utilizando DAO para “gerenciar” a persistência porém não consegui encontrar nada na web sobre utilizando
Form, todos exemplos são com set`s ja informando o dados, porém quero ter uma ideia de como irei realizar isso utilizando um TextField em Form por exemplo, depois mostrar em um JTable e etc. Obrigado.
[code]
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class Grupo implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer cd_grupo;
@Column(length = 60, nullable = false)
private String ds_grupo;
public String getDs_grupo() {
return ds_grupo;
}
public void setDs_grupo(String ds_grupo) {
this.ds_grupo = ds_grupo;
}
public Integer getCd_grupo() {
return cd_grupo;
}
public void setCd_grupo(Integer cd_grupo) {
this.cd_grupo = cd_grupo;
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final Grupo other = (Grupo) obj;
if (this.cd_grupo != other.cd_grupo && (this.cd_grupo == null || !this.cd_grupo.equals(other.cd_grupo))) {
return false;
}
return true;
}
@Override
public int hashCode() {
int hash = 7;
hash = 53 * hash + (this.cd_grupo != null ? this.cd_grupo.hashCode() : 0);
return hash;
}
}[/code]
[code]
import java.io.Serializable;
import java.util.List;
public interface DAO {
public void excluir(E entidade) throws Exception;
public void salvar(E entidade) throws Exception;
public void atualizar(E entidade) throws Exception;
public E consultarPorId(Serializable id) throws Exception;
public List<E> consultarTodos() throws Exception;
}
import celeste.estagio.entidade.Grupo;
public interface grupoDAO extends DAO<Grupo>{
}
import celeste.estagio.dao.grupoDAO;
import celeste.estagio.entidade.Grupo;
public class grupoDAOImpl extends DAOImpl<Grupo> implements grupoDAO{
}
import celeste.estagio.dao.DAO;
import celeste.estagio.hibernte.util.HibernateUtil;
import java.io.Serializable;
import java.lang.reflect.ParameterizedType;
import java.util.ArrayList;
import java.util.List;
import org.hibernate.Session;
public class DAOImpl<E> implements DAO<E> {
private Class clazz;
public DAOImpl() {
ParameterizedType type = (ParameterizedType) getClass().getGenericSuperclass();
clazz = (Class) type.getActualTypeArguments()[0];
}
public void salvar(E entidade) throws Exception {
Session secao = HibernateUtil.getSession();
try {
secao.beginTransaction();//inicia uma transacao
secao.save(entidade);// salvar a entidade
secao.getTransaction().commit();//comitar a transacao
} catch (Exception ex) {
secao.getTransaction().rollback();//se houver algum problema na transacao ocorre rollback
throw ex;
} finally {
secao.close();//Fecha-se a secao
}
}
public void excluir(E entidade) throws Exception {
Session secao = HibernateUtil.getSession();
try {
secao.beginTransaction();
secao.delete(entidade);
secao.getTransaction().commit();
} catch (Exception ex) {
secao.getTransaction().rollback();
throw ex;
} finally {
secao.close();
}
}
public void atualizar(E entidade) throws Exception {
Session secao = HibernateUtil.getSession();
try {
secao.beginTransaction();
secao.update(entidade);
secao.getTransaction().commit();
} catch (Exception ex) {
secao.getTransaction().rollback();
throw ex;
} finally {
secao.close();
}
}
public E consultarPorId(Serializable id) throws Exception {
Session session = HibernateUtil.getSession();
E entidade = null;
try {
session.beginTransaction();
entidade = (E) session.get(clazz, id);
session.getTransaction().commit();
} catch (Exception ex) {
session.getTransaction().rollback();
throw ex;
} finally {
session.close();
}
return entidade;
}
public List<E> consultarTodos() throws Exception {
List<E> entidades = new ArrayList<E>();
Session session = HibernateUtil.getSession();
try {
entidades = session.createQuery("FROM" + clazz.getName()).list();
} catch (Exception ex) {
throw ex;
} finally {
session.close();
}
return entidades;
}
}
import celeste.estagio.entidade.Grupo;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.SessionFactory;
public class HibernateUtil {
private static SessionFactory sessionFactory;
public static void inicializar() {
try {
sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
} catch (final HibernateException ex) {
System.err.println("Falha de inicializacao na criaçao da SessionFactory " + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static Session getSession() {
if (sessionFactory == null) {
inicializar();
}
return sessionFactory.openSession();
}
public static void fecharFabrica() {
if (sessionFactory != null) {
sessionFactory.close();
}
}
}
Essa é minha arquitetura porém estou desanimado sem aonde encontrar exemplos ou material de como usar Form e etc. Se puderem ajudar agradeço.