DetachedCriteria is mostly used to define a subquery, and for what you need is a bit overkill.
Just create the Criteria based on the object that would have been first in your HQL version, then just addAlias(OtherObject.class, "aliasNameHere"). Now you can use the alias name in your Projections and Restrictions.
To get you started.
Criteria criteria = session.createCriteria(Student.class).addAlias(Department.class, "dept").add(Restriction.eq(dept.departmentName, someValue));
Mark