[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-2985) Patch to HHH-952 should propagate enabledFilters

Shawn Clowater (JIRA) noreply at atlassian.com
Mon Dec 3 20:40:58 EST 2007


    [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-2985?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_29035 ] 

Shawn Clowater commented on HHH-2985:
-------------------------------------

http://opensource.atlassian.com/projects/hibernate/browse/HHH-530 should be enough of a test to illustrate this.  However, the way i have it implemented has a bug in that it only works for one level deep.

As per my comments in the other issue:

"However, I found an issue with the way I'm getting at the filters to pass to the CriteriaJoinWalker. I'm casting the criteria to a CriteriaImpl to get at the session but in the nested subquery it's no longer a CriteriaImpl it is a CriteriaImpl$Subcriteria.

There doesn't seem to be a mechanism right now to be able to get at that in all cases, the parent criteria on the Subcriteria doesn't have a reference to the actual session (it was null when I tried it)."

> Patch to HHH-952 should propagate enabledFilters
> ------------------------------------------------
>
>                 Key: HHH-2985
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-2985
>             Project: Hibernate3
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 3.2.5
>            Reporter: Céline Launay
>   Original Estimate: 1 hour
>  Remaining Estimate: 1 hour
>
> The patch submitted for issue HHH-952 reads like so :
> 		// patch to generate joins on subqueries stolen from CriteriaLoader
> 		CriteriaJoinWalker walker = new CriteriaJoinWalker(persister,
> 				innerQuery, factory, criteriaImpl, criteriaImpl
> 						.getEntityOrClassName(), new HashMap()) {
> 			// need to override default of "this_" to whatever the innerQuery is using
> 			protected String generateRootAlias(final String description) {
> 				return innerQuery.getRootSQLALias();
> 			}
> 		};
> Note how it passes a new HashMap as filters. Wouldn't it be better to propagate session.getEnabledFilters(), like so :
> 		// patch to generate joins on subqueries stolen from CriteriaLoader
> 		CriteriaJoinWalker walker = new CriteriaJoinWalker(persister,
> 				innerQuery, factory, criteriaImpl, criteriaImpl
> 						.getEntityOrClassName(), session.getEnabledFilters()) {
> 			// need to override default of "this_" to whatever the innerQuery is using
> 			protected String generateRootAlias(final String description) {
> 				return innerQuery.getRootSQLALias();
> 			}
> 		};

-- 
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.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       




More information about the hibernate-issues mailing list