[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-7161) The type SessionImpl.IdentifierLoadAccessImpl is not visible (not public) so the new API session.byId(..) is not useable

Guenther Demetz (JIRA) noreply at atlassian.com
Thu Mar 15 03:25:50 EDT 2012


    [ https://hibernate.onjira.com/browse/HHH-7161?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=45958#comment-45958 ] 

Guenther Demetz commented on HHH-7161:
--------------------------------------

>>unless you attempt to call the method on a reference of type SessionImpl itself, rather than Session 

Sorry, that was in fact the problem, I wrote

{code} 
SessionImpl session = (SessionImpl) em.getDelegate();
session.byNaturalId("D").load();
{code} 

instead to use the interface

{code} 
Session session = (Session) em.getDelegate();
session.byNaturalId("D").load();
{code} 

Anyway I like to pinpoint, that I see it for the first time, that a cast to a concrete class
makes the usage of one of it's interfaces impossible.



> The type SessionImpl.IdentifierLoadAccessImpl is not visible (not public) so the new API session.byId(..) is not useable
> ------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HHH-7161
>                 URL: https://hibernate.onjira.com/browse/HHH-7161
>             Project: Hibernate ORM
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 4.1.0, 4.1.1
>            Reporter: Guenther Demetz
>            Assignee: Steve Ebersole
>            Priority: Minor
>              Labels: byId
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> Document http://in.relation.to/Bloggers/41FeatureLoadingByNaturalId
> says that the new approach has been made available for identifier based loading as well,
> by listing following 2 new public methods:
> public IdentifierLoadAccess byId(String entityName);
> public IdentifierLoadAccess byId(Class entityClass);
> Unfortunately IdentifierLoadAccess is a private inner class of SessionImpl so 
> session.byId(C.class).load(id);
> gives following compile-error:
> java.lang.Error: Unresolved compilation problem: 
> 	The type SessionImpl.IdentifierLoadAccessImpl is not visible

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the hibernate-issues mailing list