Olá a todos,
Tenho a seguinte classe mãe:
@MappedSuperclass
public class Teste implements Serializable {
private static final long serialVersionUID = 1L;
private Integer codTeste;
private Integer codEstacao;
//getters and setters...
}
E a seguinte classe filha:
@Entity
@Table(name = "teste_range")
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public class TesteRange extends Teste {
private static final long serialVersionUID = 1L;
private Integer intervalo;
//getters and setters...
}
Quero consultar os testes range que pertencem a estação 1. Para isso uso a classe org.hibernate.criterion.Example
conforme código abaixo:
TesteRange tr = new TesteRange();
tr.setCodEstacao(1);
Criteria c = session.createCriteria(TesteRange.class);
Example ex = Example.create(tr);
c.add(ex);
List<TesteRange> results = (List<TesteRange>) c.list();
Não dá erro. O problema é que sempre retorna TODOS os registros e não somente os com estação igual a 1. Tentei filtrar pelo campo “codTeste” (também herdado de Teste) e também retorna todos os registros e não somente aqueles que atendem ao filtro informado. Se filtro pelo campo “intervalo”, que não é herdado, funciona.
Alguém sabe se existe algum problema entre org.hibernate.criterion.Example e campos herdados?
Ou o que estou fazendo errado?
use :