pessoal,
Estou fazendo a query abaixo, porem esta dando erro abaixo :
GRAVE: failed.----Exception [EclipseLink-3002] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.ConversionException
Exception Description: The object [Mon Apr 01 00:00:00 BRT 2013], of class [class java.lang.String], from mapping [org.eclipse.persistence.mappings.DirectToFieldMapping[dataemi–>cadguia.dataemi]] with descriptor [RelationalDescriptor(br.uniplan.modelo.planouni.Cadguia --> [DatabaseTable(cadguia)])], could not be converted to [class java.sql.Date].
AVISO: EJB5184:A system exception occurred during an invocation on EJB CadguiaDao, method: public java.util.List br.uniplan.dao.planouni.CadguiaDao.buscacodguia(java.lang.String,java.lang.String)
AVISO: javax.ejb.EJBException
Alguem pode me ajudar ???
public List<Object> buscacodguia(String Hora, String Data) {
try {
Date date1 = new Date("2013/04/01");
String query = "select c.codguia, c.numtransacao from Cadguia c where c.hora='"+Hora+"' and c.dataemi='"+date1+"'";
return (List<Object>) emAux.createQuery(query).getResultList();
}
catch (Throwable ex) {
System.err.println("failed.----" + ex);
throw new ExceptionInInitializerError(ex);
}
XOOM
Abril 1, 2013, 8:35pm
#2
o campo dataemi é de qual tipo?
mostra a classe Cadguia.java
campo : private Date dataemi;
public class Cadguia implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "codguia")
private Integer codguia;
@Size(max = 1)
@Column(name = "tipoguia")
private String tipoguia;
@Column(name = "numtransacao")
private Integer numtransacao;
@Size(max = 1)
@Column(name = "status")
private String status;
@Size(max = 1)
@Column(name = "origem")
private String origem;
@Column(name = "guiaorigem")
private Integer guiaorigem;
@Column(name = "guiaauxiliar")
private Integer guiaauxiliar;
@Column(name = "dataemi")
@Temporal(TemporalType.DATE)
private Date dataemi;
@Size(max = 8)
@Column(name = "hora")
private String hora;
@Size(max = 30)
@Column(name = "senha")
private String senha;
@Size(max = 17)
@Column(name = "codbenef")
private String codbenef;
@Column(name = "codprest")
private Integer codprest;
@Column(name = "codsoli")
private Integer codsoli;
@Column(name = "codadministradora")
private Integer codadministradora;
@Column(name = "codadministradorareq")
private Integer codadministradorareq;
@Size(max = 1)
@Column(name = "eventual")
private String eventual;
@Size(max = 6)
@Column(name = "codtipcont")
private String codtipcont;
@Size(max = 6)
@Column(name = "codespec")
private String codespec;
@Column(name = "codprestatend")
private Integer codprestatend;
@Size(max = 1)
@Column(name = "tipoprestpagto")
private String tipoprestpagto;
@Column(name = "codprestpagto")
private Integer codprestpagto;
@Column(name = "tipoprestreceb")
private Character tipoprestreceb;
@Size(max = 17)
@Column(name = "codprestreceb")
private String codprestreceb;
@Column(name = "dataini")
@Temporal(TemporalType.DATE)
private Date dataini;
@Column(name = "datafim")
@Temporal(TemporalType.DATE)
private Date datafim;
@Size(max = 4)
@Column(name = "codcid")
private String codcid;
@Size(max = 4)
@Column(name = "codcidsec")
private String codcidsec;
@Size(max = 300)
@Column(name = "obs")
private String obs;
@Size(max = 300)
@Column(name = "obs2")
private String obs2;
@Size(max = 1)
@Column(name = "cancelada")
private String cancelada;
@Column(name = "datacanc")
@Temporal(TemporalType.DATE)
private Date datacanc;
@Size(max = 4)
@Column(name = "usucanc")
private String usucanc;
@Size(max = 100)
@Column(name = "motcanc")
private String motcanc;
@Size(max = 6)
@Column(name = "tipoautoriza")
private String tipoautoriza;
@Size(max = 1)
@Column(name = "finalidade")
private String finalidade;
@Size(max = 500)
@Column(name = "indclinica")
private String indclinica;
@Size(max = 1)
@Column(name = "aptenf")
private String aptenf;
@Size(max = 1)
@Column(name = "tipocons")
private String tipocons;
@Size(max = 1)
@Column(name = "carater")
private String carater;
@Size(max = 2)
@Column(name = "tipoatend")
private String tipoatend;
@Size(max = 1)
@Column(name = "acidente")
private String acidente;
@Size(max = 1)
@Column(name = "tiposaida")
private String tiposaida;
@Size(max = 1)
@Column(name = "tipodoenca")
private String tipodoenca;
@Size(max = 4)
@Column(name = "temdoenca")
private String temdoenca;
@Size(max = 1)
@Column(name = "undoenca")
private String undoenca;
@Size(max = 1)
@Column(name = "tipoparto")
private String tipoparto;
@Column(name = "atendrn")
private Short atendrn;
@Column(name = "nasctermo")
private Short nasctermo;
@Column(name = "nascmorto")
private Short nascmorto;
@Column(name = "nascprema")
private Short nascprema;
@Size(max = 2)
@Column(name = "emgestacao")
private String emgestacao;
@Size(max = 1)
@Column(name = "aborto")
private String aborto;
@Size(max = 1)
@Column(name = "transmat")
private String transmat;
@Size(max = 1)
@Column(name = "comppuerp")
private String comppuerp;
@Size(max = 1)
@Column(name = "compneo")
private String compneo;
@Size(max = 1)
@Column(name = "baixopeso")
private String baixopeso;
@Size(max = 1)
@Column(name = "atuxml")
private String atuxml;
@Size(max = 1)
@Column(name = "recebcaixa")
private String recebcaixa;
@Size(max = 1)
@Column(name = "auditoria")
private String auditoria;
@Size(max = 1)
@Column(name = "statusaud")
private String statusaud;
@Column(name = "dataaud")
@Temporal(TemporalType.DATE)
private Date dataaud;
@Size(max = 200)
@Column(name = "obsaud")
private String obsaud;
@Size(max = 1)
@Column(name = "dadosentregue")
private String dadosentregue;
@Column(name = "dataentrega")
@Temporal(TemporalType.DATE)
private Date dataentrega;
@Column(name = "codsitubloq1")
private Integer codsitubloq1;
@Size(max = 100)
@Column(name = "mensagem1")
private String mensagem1;
@Column(name = "codsitubloq2")
private Integer codsitubloq2;
@Size(max = 100)
@Column(name = "mensagem2")
private String mensagem2;
@Column(name = "codsitubloq3")
private Integer codsitubloq3;
@Size(max = 100)
@Column(name = "mensagem3")
private String mensagem3;
@Column(name = "codsitubloq4")
private Integer codsitubloq4;
@Size(max = 100)
@Column(name = "mensagem4")
private String mensagem4;
@Column(name = "codsitubloq5")
private Integer codsitubloq5;
@Size(max = 100)
@Column(name = "mensagem5")
private String mensagem5;
@Size(max = 4)
@Column(name = "usucod")
private String usucod;
Evandro, que tal?
ao inves de
Date date1 = new Date(“2013/04/01”);
junte os campos data e hora num unico campo e utilize:
(new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”).parse(“SUA DATA”))?