[
http://opensource.atlassian.com/projects/hibernate/browse/HHH-5056?page=c...
]
Gail Badner commented on HHH-5056:
----------------------------------
CriteriaSpecification.DISTINCT_ROOT_ENTITY is not intended to be used this way.
Using a ResultTransformer is an inefficient way to get distinct results. You should should
be grouping by your projected properties.
You can see an example in org.hibernate.test.criteria.CriteriaQueryTest.
Criteria API with ProjectionList and Unique result
--------------------------------------------------
Key: HHH-5056
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-5056
Project: Hibernate Core
Issue Type: Bug
Components: query-criteria
Affects Versions: 3.5.0-CR-2
Environment: Hibernate 3.3.2, Oracel 11g
Reporter: Ahmed Ali Elsayed Ali Soliman
Assignee: Gail Badner
Priority: Critical
Attachments: Beans & Mappings.rar, DistinctFieldsResultTransformer.java,
HibernateTest.rar
when you make a select statement with Criteria API & use ProjectionList to retrieve
some columns then use the unique result
make at least 2 projection list (2 columns or more)
ProjectionList projectionList =
Projections.projectionList() .add(Projections.property("ColumnA")) .add(Projections.property("ColumnB"));
criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
the result must be retrieved in 2 dimensional array of Object(Object[][])
but the result are one dimensional array with one column only.
Note:- when you remove the unique result it works fine but when you add it, it make this
behavior.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira