Duvida sobre consulta no hibernate utilizando criteria

Bom dia galera,tenho uma classe Funcionario que possui uma associação OneToOne com a classe Status.Gostaria de saber como faço para consultar os funcionarios filtrando pelo tipo do status,tentei o código abaixo mas não deu certor.

preciso

...
//utilizando o template do spring
 DetachedCriteria criteria = DetachedCriteria.forClass(Funcionario.class);
 //tipo do status não é PK na tabela status 
 criteria.add(Restrictions.eq("status.tipo","A"))
...

Antecipadamente muito obrigado!! :cool:

Opa, porque você não usa HQL para fazer essa consulta.

Select * from funcionario, status where status.id = funcionario.status and status.id = 'A'

Não lembro de cabeça a sintaxe que o Hibernate usa para fazer a HQL, mas com a classe Criteria também é possivel fazer isso.

Opa,

você tem que criar um alias e fazer um join:

c.setFetchMode("status", FetchMode.JOIN); c.createAlias("status", "status");

:okok: