Buscar
Social
Ofertas laborales ES

Foro sobre Java EE > Jpa findbyExample manytoone no funciona

Tengo lo siguiente:
EquipoDao

public class Equipo extends EntidadBase {

private String marca;
@NotNull(message = "Debe seleccionar una categoria")
@ManyToOne
private Categoria categoria;

public Categoria getCategoria() {
return categoria;
}

public void setCategoria(Categoria categoria) {
this.categoria = categoria;
}

public String getMarca() {
return marca;
}

public void setMarca(String marca) {
this.marca = marca;
}

@Override
public String toString() {
return marca;
}
}

CategoriaDao

public class Categoria extends EntidadBase {

private String nombre;

public String getNombre() {
return nombre;
}

public void setNombre(String nombre) {
this.nombre = nombre;
}

@Override
public String toString() {
return nombre;
}
}

El metodo findByExample

public <T> List<T> findByExample(T entity) throws RuntimeException {
makeEntity();
List<T> lista = null;
Example example = null;
try {
example = Example.create(entity).ignoreCase().enableLike(MatchMode.ANYWHERE).
excludeZeroes();

Criteria crit = session.createCriteria(entity.getClass());
crit.add(example);
lista=crit.list();
} catch (Exception e) {
System.out.println("ERROR BY EXAMPLE: ");
e.printStackTrace();
throw new RuntimeException("Error al realizar la consulta "+e.getMessage());
} finally {
return lista;
}
}

el problema es que cuando hago lo siguiente:
Equipo eq=new Equipo();
Categoria cat=JpaQ.findByParam(Categoria.class,"id",1);
System.out.print(cat)//-------->SI ENCUENTRA LA CATEGORIA E IMPRIME EL NOMBRE
eq.setCategoria(cat)
System.out.print(JpaQ.findByExample(eq));

no muestra ningún resultado y deberia mostrarme todos los equipos de la categoria 1

pero cuando le doy un nombre a la marca del equipo, me muestra resultados incluyendo otras categorias.
que podra estar sucediendo???

octubre 24, 2011 | Registered Commentertomarts