As far as I understand from the documentation(https://docs.jboss.org/hibernate/orm/3.3/reference/en/html/objectstate.html#objectstate-filtering), it can be used to filter collections and arrays. I don't know if it only works for persistent collections but since arrays are also mentioned, I guess not. I'd expect the collection or array to be filtered and projected in-memory if possible, thus not executing a query unless needed for a lazy collection or additional from clause.
If that understanding is wrong, please help me understand what the purpose is then. Am 02.01.2017 um 12:37 schrieb Steve Ebersole: > I think you are not understanding createFilter: > > http://docs.jboss.org/hibernate/orm/current/javadocs/org/hibernate/Session.html#createFilter > > Again, to call filter you'd have to have access to the Collection you > want to filter. > > On Mon, Jan 2, 2017 at 2:40 AM Christian Beikov > <christian.bei...@gmail.com <mailto:christian.bei...@gmail.com>> wrote: > > Let's say we have this entity with an attribute that is not > directly exposed. > > class EntityA { String field; } > > and then you pass a collection of EntityA instances to > createFilter like > > Collection<EntityA> collection = ... > collection = session.createFilter(collection, "field = > 'abc%'").getResultList(); > > See my point? Since Hibernate can access the field directly, this > works, but with streams you'd need to expose the field via a > getter so you can filter for it. > > > Am 02.01.2017 um 09:25 schrieb Steve Ebersole: >> >> Could you explain the situation where you would map a collection >> but not expose it? And btw even create createFilter would not >> work there because you have to pass createFilter the collection >> >> >> On Mon, Jan 2, 2017, 2:15 AM Christian Beikov >> <christian.bei...@gmail.com <mailto:christian.bei...@gmail.com>> >> wrote: >> >> Well it does when you consider that there might be no getter >> for a field. With createFilter you could still filter the >> result list without exposing direct access to the field via a >> getter. >> >> Am 02.01.2017 um 08:52 schrieb Steve Ebersole: >>> Field-access would have zero bearing on this >>> >>> On Mon, Jan 2, 2017 at 1:30 AM Christian Beikov >>> <christian.bei...@gmail.com >>> <mailto:christian.bei...@gmail.com>> wrote: >>> >>> Sounds good to me, but maybe we could do a poll to see >>> if people are >>> using this? I don't know if the filter also works for >>> field based access >>> strategy, but that could be a reason for keeping it around. >>> >>> Regards, >>> >>> Christian >>> >>> >>> Am 31.12.2016 um 21:00 schrieb Steve Ebersole: >>> > As I have not been hearing hardly any feedback on >>> these 6.0 design >>> > questions I have been trying to start, I'll be doing >>> something different in >>> > this and any additional emails.. I'll state what I >>> propose to do and if >>> > anyone has issue with it they can make a counter >>> proposal. Otherwise I >>> > plan on following through with my proposal. >>> > >>> > I plan on removing Session#createFilter. There are >>> numerous reasons why >>> > which I can discuss if anyone is interested in >>> exploring this. >>> > >>> > Ultimately I think it makes sense to handle this via >>> Java 8 streams[1] >>> > although I am not sure that needs to happen in 6.0 >>> > >>> > [1] https://hibernate.atlassian.net/browse/HHH-10962 >>> > _______________________________________________ >>> > hibernate-dev mailing list >>> > hibernate-dev@lists.jboss.org >>> <mailto:hibernate-dev@lists.jboss.org> >>> > https://lists.jboss.org/mailman/listinfo/hibernate-dev >>> >>> _______________________________________________ >>> hibernate-dev mailing list >>> hibernate-dev@lists.jboss.org >>> <mailto: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