A phrase I see a lot here is "as":
session.as( AuditReader.class ).someEnversSpecificMethod()
or
session.as( FullTextSession.class )...
Sounds good.
And in fact it's the AuditReader/FullTextSessions that could have unwrap methods
similar to the ones in EM. Not sure it would be useful though ;)
Adam
On 04/06/2011 06:26 AM, Adam Warski wrote:
>
> On Apr 6, 2011, at 1:20 PM, Steve Ebersole wrote:
>
>> The phrase 'unwrap' might be a bit misleading there because you may not
be dealing with wrapped objects. But the idea itself is still solid I believe. Think of
it more as a multi-directional cast
>
> Right, the idea sounds good; so it would be something like a per-session service? :)
> Envers could use it as well, right now just as search has Search.getFullTextSession,
envers has AuditReaderFactory.getFor
> So we could have session.service(AuditReader.class / FullTextSession.class).
>
> Adam
>
>> On Apr 6, 2011 6:15 AM, "Adam Warski"<adam(a)warski.org> wrote:
>>>
>>>> FullTextSession ftSession = session.unwrap(FullTextSession.class);
>>>> //the current approach is via some static helper method
>>>> //FullTextSession ftSession = Search.getFullTextSession(session);
>>>>
>>>> That would mean that the integration point between HSearch and Hibernate
would have an unwrap method and Hibernate would delegate the unwrap calls to each
integrator until a non null object is returned.
>>>>
>>>> It's just a thought, WDYT?
>>>
>>> But while EntityManager wraps a Session object, a Session doesn't wrap a
FullTextSession, but the other way round, no?
>>>
>>> --
>>> Adam Warski
>>>
http://www.warski.org
>>>
http://www.softwaremill.eu
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> hibernate-dev mailing list
>>> hibernate-dev(a)lists.jboss.org
>>>
https://lists.jboss.org/mailman/listinfo/hibernate-dev
>
--
Steve Ebersole <steve(a)hibernate.org>
http://hibernate.org