views:

324

answers:

1

I have a Parent class with a List of children. I would like to load the Parent by something other than the id e.g. by name...I am using criteria.setFetchMode("children",FetchMode.JOIN); and criteria.add(Restrictions.eq("name", name)) to eagerly load all the data for the parent with a unique name. Problem is I get back thousands of results all with the same name...How do I get round this.

A: 

Try criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).

This applies a transformation after executing the query which combines the rows for the same root, which is commonly desired on an outer join with Hibernate Criteria.

Don Roby