Estou tentando utilizar Filter no JPA mas não está dando muito certo alguém pode me ajudar?
Estou fazendo da seguinte maneira:
- Defini o filtro na classe PessoaCC
@Entity
@Table(name="pessoa")
@FilterDef(name="empresaFilter", parameters=@ParamDef(name="empresaParam", type="integer"))
@Filter(name="empresaFilter", condition="empresa.id=:empresaParam")
public class PessoaCC extends Pessoa {
..
}
- Ativei o filtro no meu EntityManager
public Collection list(Class clazz, Collection<Criterion> criterion, Usuario usuario){
Session sm = (Session) em.getDelegate();
Filter filter = sm.enableFilter("empresaFilter");
filter.setParameter("empresaParam", 1);
Criteria critera = sm.createCriteria(clazz);
O problema que o filtro não é aplicado ao critéria. O que eu to fazendo de errado. Eu já utilizei assim, usando no hybernate sem JPA e funciona. Tem algum macete na configuração do JPA? Tô usando JTA no JBOSS.