Estou postando aí as classes Regiao, Departamento, DaoRegiao, DaoDepartamento, ControlaRegiao e o jsp de Cadastro de Região.
Aguardo seu contato e espero que essas informações possam ser úteis para poder me ajudar!
Regiao
package entidades;
import dao.DaoRegiao;
import java.io.Serializable;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
@Entity
public class Regiao implements Serializable {
@Id
private Integer regiao;
private boolean status;
@ManyToOne
private Departamento departamento;
public Regiao() {
}
@Override
public int hashCode() {
int hash = 0;
hash += (this.getId() != null ? this.getId().hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
if (!(object instanceof Regiao)) {
return false;
}
Regiao other = (Regiao)object;
if (this.getId() != other.getId() && (this.getId() == null || !this.getId().equals(other.getId()))) return false;
return true;
}
@Override
public String toString() {
return "entidades.Regiao[id=" + getId() + "]";
}
public Integer getId() {
return getRegiao();
}
public void setId(Integer regiao) {
this.setRegiao(regiao);
}
public boolean isStatus() {
return status;
}
public void setStatus(boolean status) {
this.status = status;
}
public Departamento getDepartamento() {
return departamento;
}
public void setDepartamento(Departamento departamento) {
this.departamento = departamento;
}
public Integer getRegiao() {
return regiao;
}
public void setRegiao(Integer regiao) {
this.regiao = regiao;
}
}
Departamento
package entidades;
import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import org.hibernate.annotations.Generated;
@Entity
public class Departamento implements Serializable {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
private String campo;
private String sigla;
public Departamento() {
}
@Override
public int hashCode() {
int hash = 0;
hash += (this.getId() != null ? this.getId().hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
if (!(object instanceof Departamento)) {
return false;
}
Departamento other = (Departamento)object;
if (this.getId() != other.getId() && (this.getId() == null || !this.getId().equals(other.getId()))) return false;
return true;
}
@Override
public String toString() {
return "entidades.Departamento[id=" + getId() + "]";
}
public String getCampo() {
return campo;
}
public void setCampo(String campo) {
this.campo = campo;
}
public String getSigla() {
return sigla;
}
public void setSigla(String sigla) {
this.sigla = sigla;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Integer setIdReg(Integer idr) {
return idr;
}
}
DaoRegiao
package dao;
import banco.Banco;
import entidades.Regiao;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.Query;
public class DaoRegiao {
private EntityManager em;
private Query q;
public DaoRegiao() {
em=Banco.getInstancia().getEm();
q=em.createQuery("FROM Regiao obj order by obj.regiao");
}
public Regiao get(Integer id){
em.clear();
em.getTransaction().begin();
Regiao obj;
obj = em.find(Regiao.class, id);
em.getTransaction().commit();
return obj;
}
public List<Regiao> select(){
em.clear();
em.getTransaction().begin();
List lista=q.getResultList();
em.getTransaction().commit();
return lista;
}
public void saveOrUpdate(Regiao obj){
em.clear();
em.getTransaction().begin();
em.merge(obj);
em.getTransaction().commit();
}
public void delete(Regiao obj){
em.clear();
em.getTransaction().begin();
obj=em.find(Regiao.class,obj.getId());
if (obj!=null){
em.remove(obj);
}
em.getTransaction().commit();
}
}
DaoDepartamento
package dao;
import banco.Banco;
import entidades.Departamento;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.Query;
public class DaoDepartamento {
private EntityManager em;
private Query q;
public DaoDepartamento() {
em=Banco.getInstancia().getEm();
q=em.createQuery("FROM Departamento obj order by obj.id");
}
public Departamento get(Integer id){
em.clear();
em.getTransaction().begin();
Departamento obj;
obj = em.find(Departamento.class, id);
em.getTransaction().commit();
return obj;
}
public List<Departamento> select(){
em.clear();
em.getTransaction().begin();
List lista=q.getResultList();
em.getTransaction().commit();
return lista;
}
public void saveOrUpdate(Departamento obj){
em.clear();
em.getTransaction().begin();
em.merge(obj);
em.getTransaction().commit();
}
public void delete(Departamento obj){
em.clear();
em.getTransaction().begin();
obj=em.find(Departamento.class,obj.getId());
if (obj!=null){
em.remove(obj);
}
em.getTransaction().commit();
}
}
ControlaRegiao
package controle;
import dao.DaoDepartamento;
import dao.DaoRegiao;
import entidades.Departamento;
import entidades.Regiao;
import java.io.*;
import java.util.List;
import javax.servlet.*;
import javax.servlet.http.*;
import org.apache.jasper.runtime.JspRuntimeLibrary;
public class ControlaRegiao extends HttpServlet {
private DaoRegiao daoRegiao;
private DaoDepartamento daoDepartamento;
public ControlaRegiao(){
daoRegiao = new DaoRegiao();
daoDepartamento = new DaoDepartamento();
}
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String acao=request.getParameter("acao");
String pagina="listar.jsp";
if ("incluir".equals(acao)){
Regiao obj=new Regiao();
JspRuntimeLibrary.introspect(obj,request);
daoRegiao.saveOrUpdate(obj);
if (obj!=null){
pagina="listar.jsp";
}
}
if ("excluir".equals(acao)){
Regiao obj=new Regiao();
JspRuntimeLibrary.introspect(obj,request);
obj=daoRegiao.get(obj.getId());
if (obj!=null){
daoRegiao.delete(obj);
pagina="listar.jsp";
}
}
if ("alterar".equals(acao)){
Regiao obj=new Regiao();
JspRuntimeLibrary.introspect(obj,request);
obj=daoRegiao.get(obj.getId());
request.setAttribute("regiao",obj);
if (obj!=null){
pagina="alterar.jsp";
}
}
if ("salvar".equals(acao)){
Regiao obj=new Regiao();
JspRuntimeLibrary.introspect(obj,request);
daoRegiao.saveOrUpdate(obj);
if (obj!=null){
pagina="listar.jsp";
}
}
if ("cadastrar".equals(acao)){
pagina="cadastrar.jsp";
}
if ("localizar".equals(acao)){
pagina="localizar.jsp";
}
List <Regiao> regioes = daoRegiao.select();
List <Departamento> departamentos = daoDepartamento.select();
request.setAttribute("listaRegioes",regioes);
request.setAttribute("listaDepartamentos",departamentos);
request.getRequestDispatcher(pagina).forward(request,response);
}
+ HttpServlet methods. Click on the + sign on the left to edit the code.
}
Cadastro de Região
<html>
<head>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<title>Clube On-Line</title>
<link rel="stylesheet" type="text/css" href="../css/crud.css" />
<script type="text/javascript" src="../js/cancelarCad.js"></script>
</head>
<body>
<div id="principal">
<tt>Cadastro de Região<tt>
</br></br>
<form action="index.jsp" method="POST">
<input type="hidden" name="acao" value="incluir" />
<table border="0">
<tr>
<td class="estilotd">Região:</td>
<td><input type="text" name="regiao" size="52" maxlength="50" value="" /></td>
</tr>
<tr>
<td class="estilotd">Status:</td>
<td>
<input type="radio" name="status" value="TRUE" checked="checked" /> Ativo
<input type="radio" name="status" value="FALSE" /> Inativo
</td>
</tr>
<tr>
<td class="estilotd">Campo:</td>
<td>
<select name="departamento">
<c:forEach items="${listaDepartamentos}" var="obj" >
<option value="${obj.id}">${obj.sigla}</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<td></td>
<td>
<div align="right">
<a ><img ></a>
<input type="image" src="../imagens/cadastrar.gif">
</div>
</td>
</tr>
</table>
</form>
</div>
</body>
</html>