Hi Steve, Thanks for the reply.
Is there a general roadmap to these changes somewhere so I can get a gist of what's going on there? Also a general timeframe for this stuff to reach a stable release? I'm definitely interested to take a look-see. Thanks, David On Mon, 2008-12-29 at 09:44 -0600, Steve Ebersole wrote: > I am in the midst of significant changes which will affect the way > criteria queries are interpreted/translated. This is all happening on a > branch named SQL_GEN_REDESIGN. If you are interested in helping that > effort along or making sure this particular issue is addressed by those > changes then we can chat about that. For the former, perhaps we could > chat on IRC (#hibernate-dev on freenode), though email is ok too. For > that latter, though, we'd have to wait for this work to be done; you can > track it from JIRA : > http://opensource.atlassian.com/projects/hibernate/secure/IssueNavigator.jspa?reset=true&mode=hide&pid=10031&fixfor=10690&status=1&status=3&status=4&sorter/field=issuekey&sorter/order=DESC > > and: > http://opensource.atlassian.com/projects/hibernate/browse/HHH-2407 > > > > - > > Steve Ebersole > Project Lead > http://hibernate.org > st...@hibernate.org > > Principal Software Engineer > JBoss, a division of Red Hat > http://jboss.com > http://redhat.com > steve.ebers...@jboss.com > steve.ebers...@redhat.com > > > On Mon, 2008-12-22 at 15:49 -0500, David Mansfield wrote: > > [ I sent this about a week ago and haven't heard anything from anyone. > > Can someone let me know if I'm barking up the right tree? ] > > > > Hi All, > > > > The attached patch, which is not quite ready for inclusion, but works > > completely under light testing, implements the functionality > > missing from the criteria API for querying collections that are not > > collection-of-entity. (ie. fix the causes of 'collection is not an > > association', (i.e first issue on 'Advanced Problems' faq)). > > > > This needs some feedback and review. I have created issue > > http://opensource.atlassian.com/projects/hibernate/browse/HHH-3646 to > > track the issue, but I've not yet received any feedback. > > > > Implementation notes: > > > > The main area of change is to the CriteriaQueryTranslator class. In > > this class, we replace the 'criteriaEntityNames' map of Criteria => > > String with two maps, one mapping Criteria => CriteriaInfoProvider and > > one mapping String (name) => CriteriaInfoProvider. > > > > The new class, CriteriaInfoProvider is an interface/abstraction to the > > functionality needed by the various entry points into the translator, > > such as to retrieve the 'spaces', get the PropertyMapping etc. > > > > There are 3 concrete implementations of CriteriaInfoProvider: > > > > * EntityCriteriaInfoProvider: this is the functionality that was always > > present in the translator, ie. use getEntityPersister() etc. > > > > * ComponentCollectionInfoProvider: this is the functionality that > > extends the api for collection-of-component. In this class, we have to > > provide the collection 'spaces' and the 'collection persister', but we > > also have to look in detail at the ComponentType to be able to resolve > > property references off of the component. > > > > * ScalarCollectionInfoProvider: this is the functionality the provides > > the api for collection-of-value. The main thing here is we use the > > SessionFactoryHelper (part of the HQL tree) to get the > > CollectionPropertyMapping object for mapping the 'elements','indices' > > etc. properties. There's at least one 'I have no idea what to put here' > > method in this class. > > > > There is substantial cruft in the patch for debugging, which will not be > > part of the final implementation. > > > > There is a crude hack in CriteriaJoinWalker which needs some expert > > advice: the existing implementation was looking at some mysterious > > 'consumesEntityAlias' boolean, but I need to force the code to lookup > > the alias from the translator every time, or else it bypasses the alias > > for the collection itself, and the SQL aliases are wrong. > > > > There is also a completely separate bugfix wedged in here, which needs > > to be extracted to its own issue/patch. The changes to JoinWalker are > > necessary and correct: if the last association will not generate any > > selectFragment, then the implementation adds an extraneous ", " to the > > generated string. > > > > Looking forward to your feedback and working together to get this into > > the tree. Need info about test cases to create, documentation etc. > > > > Thanks, > > David Mansfield > > Cobite, INC. > > > > > > > > > > _______________________________________________ > > hibernate-dev mailing list > > hibernate-dev@lists.jboss.org > > https://lists.jboss.org/mailman/listinfo/hibernate-dev > _______________________________________________ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev