You should have a discriminator columen in your BD, and a mapping like that:
@DiscriminatorColumn(name="TYPE", discriminatorType=DiscriminatorType.INTEGER)
public abstract class User {
and:
@DiscriminatorValue("1")
public class Parent extends User {
Then you can use the attribute class in your queries. For example:
getSession().createCriteria(User.class).add(Restrictions.eq("class", 1))
or in HQL:
FROM User WHERE class = 1