{"action":"created","issue":{"url":"https://api.github.com/repos/hibernate/hibernate-hql-parser/issues/29","labels_url":"https://api.github.com/repos/hibernate/hibernate-hql-parser/issues/29/labels{/name}","comments_url":"https://api.github.com/repos/hibernate/hibernate-hql-parser/issues/29/comments","events_url":"https://api.github.com/repos/hibernate/hibernate-hql-parser/issues/29/events","html_url":"https://github.com/hibernate/hibernate-hql-parser/pull/29","id":60378293,"number":29,"title":"HQLPARSER-53 Join on embedded collections","user":{"login":"DavideD","id":559221,"avatar_url":"https://avatars.githubusercontent.com/u/559221?v=3","gravatar_id":"","url":"https://api.github.com/users/DavideD","html_url":"https://github.com/DavideD","followers_url":"https://api.github.com/users/DavideD/followers","following_url":"https://api.github.com/users/DavideD/following{/other_user}","gists_url":"https://api.github.com/users/DavideD/gists{/gist_id}","starred_url":"https://api.github.com/users/DavideD/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DavideD/subscriptions","organizations_url":"https://api.github.com/users/DavideD/orgs","repos_url":"https://api.github.com/users/DavideD/repos","events_url":"https://api.github.com/users/DavideD/events{/privacy}","received_events_url":"https://api.github.com/users/DavideD/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"Sanne","id":42573,"avatar_url":"https://avatars.githubusercontent.com/u/42573?v=3","gravatar_id":"","url":"https://api.github.com/users/Sanne","html_url":"https://github.com/Sanne","followers_url":"https://api.github.com/users/Sanne/followers","following_url":"https://api.github.com/users/Sanne/following{/other_user}","gists_url":"https://api.github.com/users/Sanne/gists{/gist_id}","starred_url":"https://api.github.com/users/Sanne/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Sanne/subscriptions","organizations_url":"https://api.github.com/users/Sanne/orgs","repos_url":"https://api.github.com/users/Sanne/repos","events_url":"https://api.github.com/users/Sanne/events{/privacy}","received_events_url":"https://api.github.com/users/Sanne/received_events","type":"User","site_admin":false},"milestone":null,"comments":3,"created_at":"2015-03-09T17:20:55Z","updated_at":"2015-03-10T14:42:59Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/hibernate/hibernate-hql-parser/pulls/29","html_url":"https://github.com/hibernate/hibernate-hql-parser/pull/29","diff_url":"https://github.com/hibernate/hibernate-hql-parser/pull/29.diff","patch_url":"https://github.com/hibernate/hibernate-hql-parser/pull/29.patch"},"body":"https://hibernate.atlassian.net/browse/HQLPARSER-53\r\n\r\nThis patch will enable the support of join operation.\r\n\r\nI've chenged the parsed and now the sub-tree related to a join is the following:\r\n\r\n```\r\n(property-join INNER a (PATH (. e author)))))\r\n```\r\n\r\ninstead of \r\n\r\n```\r\n(property-join INNER a (PROPERTY_REFERENCE (. e author)))))\r\n```\r\n\r\nThis way I can register the property path and the alias via the new method `delegate.registerJoinAlias(Tree alias, PropertyPath propertyPath)`\r\n\r\nThis method is invoked when the new rule *joinPropertyReference* in GeneratedHQLResolver.g and QueryRenderer.g is called.\r\n\r\n@gunnarmorling, @Sanne  It seems to pass all the test but let me know if I missed something"},"comment":{"url":"https://api.github.com/repos/hibernate/hibernate-hql-parser/issues/comments/78067575","html_url":"https://github.com/hibernate/hibernate-hql-parser/pull/29#issuecomment-78067575","issue_url":"https://api.github.com/repos/hibernate/hibernate-hql-parser/issues/29","id":78067575,"user":{"login":"DavideD","id":559221,"avatar_url":"https://avatars.githubusercontent.com/u/559221?v=3","gravatar_id":"","url":"https://api.github.com/users/DavideD","html_url":"https://github.com/DavideD","followers_url":"https://api.github.com/users/DavideD/followers","following_url":"https://api.github.com/users/DavideD/following{/other_user}","gists_url":"https://api.github.com/users/DavideD/gists{/gist_id}","starred_url":"https://api.github.com/users/DavideD/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DavideD/subscriptions","organizations_url":"https://api.github.com/users/DavideD/orgs","repos_url":"https://api.github.com/users/DavideD/repos","events_url":"https://api.github.com/users/DavideD/events{/privacy}","received_events_url":"https://api.github.com/users/DavideD/received_events","type":"User","site_admin":false},"created_at":"2015-03-10T14:42:59Z","updated_at":"2015-03-10T14:42:59Z","body":"@Sanne sorry, I've just seen your comment now. I've applied a few changes and rebased to fix some error I have encountered:\r\n\r\n* Added some more tests to check embedded used with operator (IN, BETWEEN, ...)\r\n* Added some more tests to check embedded used in projections with unqualified properties\r\n* Fix error related to projections in `LuceneQueryRendererDelegate#setPropertyPath(PropertyPath)`\r\n* Fix error where aliases were not resolved for some predicates in `SingleEntityQueryRendererDelegate`\r\n"}}