query specified join fetching, but the owner of the fetched association

错误原因分析:

      首先看HQL语句:

       SELECT pfp.tprofile FROM Tprofileperson pfp left join fetch pfp.tprofile WHERE pfp.tperson.personid = 114

      此处我希望加载Tprofileperson下的tprofile,而我使用了fetch来立即抓取tprofile,错误就在这里.如果你使用fetch,那么fetch左边的连接对象(拥有者)一定要出现在select后,例如将上面改为select pfp... 这样就会执行正常,因为使用了fetch,Hibernate就会将需要fetch的对象(Tprofile)立即加载在父对象(Tprofileperson)中,而我的select确只是列出子对象,而拥有者(Tprofileperson)并没有present(出席在结果集中),那么就会出现以上错误.

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wherejaly/archive/2009/08/21/4468772.aspx

你可能感兴趣的:(Hibernate,.net,Blog)