DetachedCriteria

Alguem poderia me dizer porque esta Querye funciona:

List c = session.createQuery(“from MV100 where CODIGO_REDUZIDO in (Select CODIGO_REDUZIDO_P_GEREC from MV100_01” )").list();

mas essa nao

DetachedCriteria teste2 = DetachedCriteria.forClass(MV100_01.class) 
    .setProjection( Property.forName("CODIGO_REDUZIDO_P_GEREC"));

List c = session.createCriteria(MV100.class)
.add( Property.forName(“CODIGO_REDUZIDO”).eq(teste2))
.list();