
Seleccionar elemento de colección con hql
Publicado por Adiel (1 intervención) el 21/06/2014 03:14:54
Tengo un incoveniente con este método:
Me sale esta excepción:
e.queryString="FROM entidad.Historia h WHERE h.pacientes=entidad.Paciente@3ad3a221" e.detailMessage="unexpected char: '@'"
Uno de los campos de Historia es una colección llamada pacientes del tipo Paciente. El detalle es que ésta colección tiene un solo elemento, es decir un solo paciente.
Lo que necesito es que el query seleccione un objeto historia cuando el único elemento de la colección pacientes sea igual al objeto paciente que es pasado al método a través del parámetro.
public Historia BuscarHistoria(Paciente paciente) {
Historia model=null;
Session sesion=util.HibernateUtil.getSessionFactory().getCurrentSession();
String sql="FROM Historia as h WHERE h.pacientes="+paciente;
try{
sesion.beginTransaction();
model=(Historia) sesion.createQuery(sql).uniqueResult();
sesion.beginTransaction().commit();
}
catch(Exception e){
sesion.beginTransaction().rollback();
}
return model;
}
Me sale esta excepción:
e.queryString="FROM entidad.Historia h WHERE h.pacientes=entidad.Paciente@3ad3a221" e.detailMessage="unexpected char: '@'"
Uno de los campos de Historia es una colección llamada pacientes del tipo Paciente. El detalle es que ésta colección tiene un solo elemento, es decir un solo paciente.
Lo que necesito es que el query seleccione un objeto historia cuando el único elemento de la colección pacientes sea igual al objeto paciente que es pasado al método a través del parámetro.
public Historia BuscarHistoria(Paciente paciente) {
Historia model=null;
Session sesion=util.HibernateUtil.getSessionFactory().getCurrentSession();
String sql="FROM Historia as h WHERE h.pacientes="+paciente;
try{
sesion.beginTransaction();
model=(Historia) sesion.createQuery(sql).uniqueResult();
sesion.beginTransaction().commit();
}
catch(Exception e){
sesion.beginTransaction().rollback();
}
return model;
}
Valora esta pregunta


0