Dhashiike,
You take one problem at a time.
First you use a second createCriteria command on the first Criteria, which gives you both an alias and a JOIN type
Code:
Criteria crit=session.createCriteria(Table1.class)
Criteria crit2=crit.createCriteria("collectionOfT2s", Criteria.LEFT_JOIN);
Then you apply your restriction on crit2, not on crit1
Code:
crit2.add(Restrictions.eq("fieldName", value));
Finally, ask for crit2.list()
This assumes, of course, that T1 has a property called "collectionOfT2s" and that T2 has a property called "fieldName", and that both classes are properly joined in the mapping file.