[hibernate-dev] Integrator and retrieving objects

Steve Ebersole steve at hibernate.org
Wed Apr 6 07:29:44 EDT 2011


A phrase I see a lot here is "as":

session.as( AuditReader.class ).someEnversSpecificMethod()

or

session.as( FullTextSession.class )...


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 at 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 at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/hibernate-dev
>

-- 
Steve Ebersole <steve at hibernate.org>
http://hibernate.org



More information about the hibernate-dev mailing list