Olá boa tarde.
Estou com um probleminha em um teste que estou fazendo: estou querendo fazer uma pesquisa num db selecionando um campo que não tem seu id próprio. Para ser mais claro, estou fazendo uma pesquisa de reunião por data (mas como ainda não sei manipular datas, deixei o campo como String), porém, o resultado só me traz as datas que estão em branco, como se eu estivesse pesquisando as datas que fossem null no db.
Obs.: a pesquisa de reunião por sala, que tem id, funciona perfeitamente.
Podem me ajudar?
package logic;
import java.util.List;
import modelo.Reuniao;
import modelo.Sala;
import modelo.Usuario;
import org.vraptor.annotations.Component;
import org.vraptor.annotations.InterceptedBy;
import teste.DaoInterceptor;
import dao.DaoFactory;
@Component(“reuniao”)
@InterceptedBy(DaoInterceptor.class)
public class ReuniaoLogic {
private final DaoFactory daoFactory;
private Reuniao reuniao;
private Sala sala;
private List reuniaos;
public ReuniaoLogic(DaoFactory daoFactory) {
this.daoFactory = daoFactory;
}
// formulario para adicao
public void formulario() {
}
//formulario para edicao
public void editar(Reuniao reuniao) {
// carrega os dados no banco para edicao
this.reuniao = this.daoFactory.getReuniaoDao().procura(reuniao.getId_reuniao());
}
// Adiciona uma musica nova ou atualiza se for edicao
public void armazena (Reuniao reuniao) {
this.daoFactory.beginTransaction();
this.daoFactory.getReuniaoDao().atualiza(reuniao);
this.daoFactory.commit();
}
// remove uma musica
public void remove(Reuniao reuniao) {
this.daoFactory.beginTransaction();
this.daoFactory.getReuniaoDao().remove(reuniao);
this.daoFactory.commit();
}
// lista todas as musicas
public void lista() {
this.reuniaos = this.daoFactory.getReuniaoDao().listaTudo();
}
// getter pra musica
public Reuniao getReuniao() {
return reuniao;
}
// getter pra lista de musicas
public List getReuniaos() {
return reuniaos;
}
//metodo usado para popular o select de sala
public List getListaSalas() {
return this.daoFactory.getSalaDao().listaTudo();
}
//metodo usado para popular o select de usuario
public List getListaUsuarios() {
return this.daoFactory.getUsuarioDao().listaTudo();
}
public void edita(Sala sala){
this.sala=(Sala)this.daoFactory.getSalaDao().procura(sala.getId_sala());
}
public Sala getSala() {
return sala;
}
public void setSala(Sala sala) {
this.sala = sala;
}
public void listaPorSala(Sala sala){
this.reuniaos = this.daoFactory.getReuniaoDao().listaPorSala(sala);
}
public void listaPorData(String data){
this.reuniaos = this.daoFactory.getReuniaoDao().listaPorData(data);
}
}
package dao;
import java.util.List;
import modelo.Reuniao;
import modelo.Sala;
import org.hibernate.Session;
import org.hibernate.criterion.Restrictions;
public class ReuniaoDao extends Dao{
//Construtor
public ReuniaoDao (Session session){
super(session, Reuniao.class);
}
Reuniao reuniao = new Reuniao();
//Metodos
@SuppressWarnings("unchecked")
public List<Reuniao> listaPorSala(Sala sala){
//List reuniaos = session.createCriteria(Reuniao.class).add(Restrictions.eq("sala.id_sala", reuniao.getSala())).list();
List reuniaos = session.createCriteria(Reuniao.class).add(Restrictions.eq("sala.id_sala", sala.getId_sala())).list();
return reuniaos;
}
public List<Reuniao> listaPorData(String data){
List reuniaos = session.createCriteria(Reuniao.class).add(Restrictions.eq("data", data)).list();
return reuniaos;
}
}
package modelo;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
@Entity
public class Reuniao {
@Id
@GeneratedValue
private int id_reuniao;
private String titulo;
@ManyToOne
private Sala sala;
@ManyToOne
private Usuario usuario;
private String data;
// gere os getters e setters
public Sala getSala() {
return sala;
}
public void setSala(Sala sala) {
this.sala = sala;
}
public String getTitulo() {
return titulo;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
public int getId_reuniao() {
return id_reuniao;
}
public void setId_reuniao(int id_reuniao) {
this.id_reuniao = id_reuniao;
}
public Usuario getUsuario() {
return usuario;
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
}
<%@ taglib uri=“http://displaytag.sf.net” prefix=“display” %>
<%@page pageEncoding=“Cp1252” contentType=“text/html; charset=Cp1252” %>
Reunioes
editar remover data procura --------------------------------------------------------------------------------------------------- <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://displaytag.sf.net" prefix="display" %> Lista de Reuniaos por Sala <%@include file="../menu.jsp" %>Reuniaos
editar removerGrato, Carlos…