2012-07-20 64 views
0

我有一个应用程序可以很好地与玻璃鱼Eclipselink工作。因为它在就业市场上的要求非常之多,所以我试图移植应用程序以在Glassfish 3.1.2上使用Hibernate 4.1.5.Final。我所有的实体类都使用注释,而我没有映射文件。端口从玻璃鱼eclipselink休眠EntityNotFoundException - 但目前在db

我设置了Maven依赖,并在persistence.xml中创建一个新的Hibernate持久性基础单位:

<persistence-unit name="testHibernate" transaction-type="JTA"> 
    <provider>org.hibernate.ejb.HibernatePersistence</provider> 
    <jta-data-source>jdbc/myco</jta-data-source> 
    <exclude-unlisted-classes>false</exclude-unlisted-classes> 
    <properties> 
     <property name="hibernate.hbm2ddl.auto" value="validate"/> 
     <property name="hibernate.archive.autodetection" value="class, hbm"/> 
     <property name="hibernate.show_sql" value="true"/> 
     <property name="hibernate.format_sql" value="true"/> 
     <property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.SunONETransactionManagerLookup"/> 
     <property name="hibernate.dialect" value="uk.co.myco.general.Mysql5BitBooleanDialect"/> 
     <property name="hibernate.generate_statistics" value="true"/> 
    </properties> 
    </persistence-unit> 

在下面的查询记录后执行:

@PersistenceContext(unitName = "testHibernate") 
protected EntityManager em; 
... 
Query query = em.createQuery("SELECT u FROM User u WHERE u.userName = ?1"); 
query.setParameter(1, "testuser"); 
User user = (User) query.getSingleResult(); 

,这将引发的javax。 persistence.EntityNotFoundException:无法找到id为1的uk.co.myco.entities.Player。Player类参照 这样的User类:

@OneToOne 
@JoinColumn(name = "defaultPlayer", referencedColumnName = "id") 
private Player defaultPlayer; 

“Player”实体是持久继承层次结构的一部分,并且从基类继承的所有其他实体似乎都包含在查询中。

与ID为1的球员存在,肯定在数据库中,但是这是疯狂 复杂的查询,这似乎是执行,有没有人有如何查询 可以通过简单而产生的任何想法从用户选择U U如上所示?

select 
     player0_.id as id0_13_, 
     player0_1_.createUser as createUser0_13_, 
     player0_1_.created as created0_13_, 
     player0_1_.entityState as entitySt3_0_13_, 
     player0_1_.updateUser as updateUser0_13_, 
     player0_1_.updated as updated0_13_, 
     player0_1_.version as version0_13_, 
     player0_1_.ageGroup as ageGroup0_13_, 
     player0_1_.ageGroupNickname as ageGroup7_0_13_, 
     player0_1_.country as country0_13_, 
     player0_1_.currentSeason as current16_0_13_, 
     player0_1_.dtype as dtype0_13_, 
     player0_1_.introNotes as introNotes0_13_, 
     player0_1_.mainLocation as mainLoc17_0_13_, 
     player0_1_.name as name0_13_, 
     player0_1_.photoId as photoId0_13_, 
     player0_1_.sport as sport0_13_, 
     player0_.birthCertificate as birthCer1_1_13_, 
     player0_.defaultPlayer as defaultP2_1_13_, 
     player0_.dob as dob1_13_, 
     player0_.email as email1_13_, 
     player0_.firstName as firstName1_13_, 
     player0_.lastName as lastName1_13_, 
     player0_.middleInitial as middleIn7_1_13_, 
     player0_.photo as photo1_13_, 
     player0_.user as user1_13_, 
     user1_.id as id6_0_, 
     user1_.createUser as createUser6_0_, 
     user1_.created as created6_0_, 
     user1_.entityState as entitySt3_6_0_, 
     user1_.updateUser as updateUser6_0_, 
     user1_.updated as updated6_0_, 
     user1_.version as version6_0_, 
     user1_.agreedTerms as agreedTe6_6_0_, 
     user1_.browserType as browserT7_6_0_, 
     user1_.country as country6_0_, 
     user1_.dateFormat as dateFormat6_0_, 
     user1_.defaultPlayer as default45_6_0_, 
     user1_.dob as dob6_0_, 
     user1_.email as email6_0_, 
     user1_.emailVerified as emailVe12_6_0_, 
     user1_.firstName as firstName6_0_, 
     user1_.gender as gender6_0_, 
     user1_.groupName as groupName6_0_, 
     user1_.addrCountry as addrCou16_6_0_, 
     user1_.addrCounty as addrCounty6_0_, 
     user1_.addrGeoStatus as addrGeo18_6_0_, 
     user1_.addrLat as addrLat6_0_, 
     user1_.addrLine1 as addrLine20_6_0_, 
     user1_.addrLine2 as addrLine21_6_0_, 
     user1_.addrLng as addrLng6_0_, 
     user1_.addrPostCode as addrPos23_6_0_, 
     user1_.addrTownCity as addrTow24_6_0_, 
     user1_.lastLoginFailureIpAddress as lastLog25_6_0_, 
     user1_.lastLoginIpAddress as lastLog26_6_0_, 
     user1_.lastLoginTime as lastLog27_6_0_, 
     user1_.lastName as lastName6_0_, 
     user1_.loginCount as loginCount6_0_, 
     user1_.loginFailures as loginFa30_6_0_, 
     user1_.middleInitial as middleI31_6_0_, 
     user1_.mobileSecurityCode as mobileS32_6_0_, 
     user1_.mobileVerified as mobileV33_6_0_, 
     user1_.passWord as passWord6_0_, 
     user1_.phoneHome as phoneHome6_0_, 
     user1_.phoneMobile as phoneMo36_6_0_, 
     user1_.regRandomNumber as regRand37_6_0_, 
     user1_.registrationIpAddress as registr38_6_0_, 
     user1_.timeZone as timeZone6_0_, 
     user1_.timeZoneGroup as timeZon40_6_0_, 
     user1_.userAdmin as userAdmin6_0_, 
     user1_.userName as userName6_0_, 
     user2_.id as id6_1_, 
     user2_.createUser as createUser6_1_, 
     user2_.created as created6_1_, 
     user2_.entityState as entitySt3_6_1_, 
     user2_.updateUser as updateUser6_1_, 
     user2_.updated as updated6_1_, 
     user2_.version as version6_1_, 
     user2_.agreedTerms as agreedTe6_6_1_, 
     user2_.browserType as browserT7_6_1_, 
     user2_.country as country6_1_, 
     user2_.dateFormat as dateFormat6_1_, 
     user2_.defaultPlayer as default45_6_1_, 
     user2_.dob as dob6_1_, 
     user2_.email as email6_1_, 
     user2_.emailVerified as emailVe12_6_1_, 
     user2_.firstName as firstName6_1_, 
     user2_.gender as gender6_1_, 
     user2_.groupName as groupName6_1_, 
     user2_.addrCountry as addrCou16_6_1_, 
     user2_.addrCounty as addrCounty6_1_, 
     user2_.addrGeoStatus as addrGeo18_6_1_, 
     user2_.addrLat as addrLat6_1_, 
     user2_.addrLine1 as addrLine20_6_1_, 
     user2_.addrLine2 as addrLine21_6_1_, 
     user2_.addrLng as addrLng6_1_, 
     user2_.addrPostCode as addrPos23_6_1_, 
     user2_.addrTownCity as addrTow24_6_1_, 
     user2_.lastLoginFailureIpAddress as lastLog25_6_1_, 
     user2_.lastLoginIpAddress as lastLog26_6_1_, 
     user2_.lastLoginTime as lastLog27_6_1_, 
     user2_.lastName as lastName6_1_, 
     user2_.loginCount as loginCount6_1_, 
     user2_.loginFailures as loginFa30_6_1_, 
     user2_.middleInitial as middleI31_6_1_, 
     user2_.mobileSecurityCode as mobileS32_6_1_, 
     user2_.mobileVerified as mobileV33_6_1_, 
     user2_.passWord as passWord6_1_, 
     user2_.phoneHome as phoneHome6_1_, 
     user2_.phoneMobile as phoneMo36_6_1_, 
     user2_.regRandomNumber as regRand37_6_1_, 
     user2_.registrationIpAddress as registr38_6_1_, 
     user2_.timeZone as timeZone6_1_, 
     user2_.timeZoneGroup as timeZon40_6_1_, 
     user2_.userAdmin as userAdmin6_1_, 
     user2_.userName as userName6_1_, 
     user3_.id as id6_2_, 
     user3_.createUser as createUser6_2_, 
     user3_.created as created6_2_, 
     user3_.entityState as entitySt3_6_2_, 
     user3_.updateUser as updateUser6_2_, 
     user3_.updated as updated6_2_, 
     user3_.version as version6_2_, 
     user3_.agreedTerms as agreedTe6_6_2_, 
     user3_.browserType as browserT7_6_2_, 
     user3_.country as country6_2_, 
     user3_.dateFormat as dateFormat6_2_, 
     user3_.defaultPlayer as default45_6_2_, 
     user3_.dob as dob6_2_, 
     user3_.email as email6_2_, 
     user3_.emailVerified as emailVe12_6_2_, 
     user3_.firstName as firstName6_2_, 
     user3_.gender as gender6_2_, 
     user3_.groupName as groupName6_2_, 
     user3_.addrCountry as addrCou16_6_2_, 
     user3_.addrCounty as addrCounty6_2_, 
     user3_.addrGeoStatus as addrGeo18_6_2_, 
     user3_.addrLat as addrLat6_2_, 
     user3_.addrLine1 as addrLine20_6_2_, 
     user3_.addrLine2 as addrLine21_6_2_, 
     user3_.addrLng as addrLng6_2_, 
     user3_.addrPostCode as addrPos23_6_2_, 
     user3_.addrTownCity as addrTow24_6_2_, 
     user3_.lastLoginFailureIpAddress as lastLog25_6_2_, 
     user3_.lastLoginIpAddress as lastLog26_6_2_, 
     user3_.lastLoginTime as lastLog27_6_2_, 
     user3_.lastName as lastName6_2_, 
     user3_.loginCount as loginCount6_2_, 
     user3_.loginFailures as loginFa30_6_2_, 
     user3_.middleInitial as middleI31_6_2_, 
     user3_.mobileSecurityCode as mobileS32_6_2_, 
     user3_.mobileVerified as mobileV33_6_2_, 
     user3_.passWord as passWord6_2_, 
     user3_.phoneHome as phoneHome6_2_, 
     user3_.phoneMobile as phoneMo36_6_2_, 
     user3_.regRandomNumber as regRand37_6_2_, 
     user3_.registrationIpAddress as registr38_6_2_, 
     user3_.timeZone as timeZone6_2_, 
     user3_.timeZoneGroup as timeZon40_6_2_, 
     user3_.userAdmin as userAdmin6_2_, 
     user3_.userName as userName6_2_, 
     player4_.id as id0_3_, 
     player4_1_.createUser as createUser0_3_, 
     player4_1_.created as created0_3_, 
     player4_1_.entityState as entitySt3_0_3_, 
     player4_1_.updateUser as updateUser0_3_, 
     player4_1_.updated as updated0_3_, 
     player4_1_.version as version0_3_, 
     player4_1_.ageGroup as ageGroup0_3_, 
     player4_1_.ageGroupNickname as ageGroup7_0_3_, 
     player4_1_.country as country0_3_, 
     player4_1_.currentSeason as current16_0_3_, 
     player4_1_.dtype as dtype0_3_, 
     player4_1_.introNotes as introNotes0_3_, 
     player4_1_.mainLocation as mainLoc17_0_3_, 
     player4_1_.name as name0_3_, 
     player4_1_.photoId as photoId0_3_, 
     player4_1_.sport as sport0_3_, 
     player4_.birthCertificate as birthCer1_1_3_, 
     player4_.defaultPlayer as defaultP2_1_3_, 
     player4_.dob as dob1_3_, 
     player4_.email as email1_3_, 
     player4_.firstName as firstName1_3_, 
     player4_.lastName as lastName1_3_, 
     player4_.middleInitial as middleIn7_1_3_, 
     player4_.photo as photo1_3_, 
     player4_.user as user1_3_, 
     user5_.id as id6_4_, 
     user5_.createUser as createUser6_4_, 
     user5_.created as created6_4_, 
     user5_.entityState as entitySt3_6_4_, 
     user5_.updateUser as updateUser6_4_, 
     user5_.updated as updated6_4_, 
     user5_.version as version6_4_, 
     user5_.agreedTerms as agreedTe6_6_4_, 
     user5_.browserType as browserT7_6_4_, 
     user5_.country as country6_4_, 
     user5_.dateFormat as dateFormat6_4_, 
     user5_.defaultPlayer as default45_6_4_, 
     user5_.dob as dob6_4_, 
     user5_.email as email6_4_, 
     user5_.emailVerified as emailVe12_6_4_, 
     user5_.firstName as firstName6_4_, 
     user5_.gender as gender6_4_, 
     user5_.groupName as groupName6_4_, 
     user5_.addrCountry as addrCou16_6_4_, 
     user5_.addrCounty as addrCounty6_4_, 
     user5_.addrGeoStatus as addrGeo18_6_4_, 
     user5_.addrLat as addrLat6_4_, 
     user5_.addrLine1 as addrLine20_6_4_, 
     user5_.addrLine2 as addrLine21_6_4_, 
     user5_.addrLng as addrLng6_4_, 
     user5_.addrPostCode as addrPos23_6_4_, 
     user5_.addrTownCity as addrTow24_6_4_, 
     user5_.lastLoginFailureIpAddress as lastLog25_6_4_, 
     user5_.lastLoginIpAddress as lastLog26_6_4_, 
     user5_.lastLoginTime as lastLog27_6_4_, 
     user5_.lastName as lastName6_4_, 
     user5_.loginCount as loginCount6_4_, 
     user5_.loginFailures as loginFa30_6_4_, 
     user5_.middleInitial as middleI31_6_4_, 
     user5_.mobileSecurityCode as mobileS32_6_4_, 
     user5_.mobileVerified as mobileV33_6_4_, 
     user5_.passWord as passWord6_4_, 
     user5_.phoneHome as phoneHome6_4_, 
     user5_.phoneMobile as phoneMo36_6_4_, 
     user5_.regRandomNumber as regRand37_6_4_, 
     user5_.registrationIpAddress as registr38_6_4_, 
     user5_.timeZone as timeZone6_4_, 
     user5_.timeZoneGroup as timeZon40_6_4_, 
     user5_.userAdmin as userAdmin6_4_, 
     user5_.userName as userName6_4_, 
     season6_.id as id2_5_, 
     season6_.createUser as createUser2_5_, 
     season6_.created as created2_5_, 
     season6_.entityState as entitySt3_2_5_, 
     season6_.updateUser as updateUser2_5_, 
     season6_.updated as updated2_5_, 
     season6_.version as version2_5_, 
     season6_.arriveBeforeMins as arriveBe6_2_5_, 
     season6_.earliestHours as earliest7_2_5_, 
     season6_.earliestMins as earliest8_2_5_, 
     season6_.encodedDaysOfWeek as encodedD9_2_5_, 
     season6_.endDate as endDate2_5_, 
     season6_.extraTime as extraTime2_5_, 
     season6_.latestHours as latestH12_2_5_, 
     season6_.latestMins as latestMins2_5_, 
     season6_.league as league2_5_, 
     season6_.matchDuration as matchDu14_2_5_, 
     season6_.season as season2_5_, 
     season6_.startDate as startDate2_5_, 
     user7_.id as id6_6_, 
     user7_.createUser as createUser6_6_, 
     user7_.created as created6_6_, 
     user7_.entityState as entitySt3_6_6_, 
     user7_.updateUser as updateUser6_6_, 
     user7_.updated as updated6_6_, 
     user7_.version as version6_6_, 
     user7_.agreedTerms as agreedTe6_6_6_, 
     user7_.browserType as browserT7_6_6_, 
     user7_.country as country6_6_, 
     user7_.dateFormat as dateFormat6_6_, 
     user7_.defaultPlayer as default45_6_6_, 
     user7_.dob as dob6_6_, 
     user7_.email as email6_6_, 
     user7_.emailVerified as emailVe12_6_6_, 
     user7_.firstName as firstName6_6_, 
     user7_.gender as gender6_6_, 
     user7_.groupName as groupName6_6_, 
     user7_.addrCountry as addrCou16_6_6_, 
     user7_.addrCounty as addrCounty6_6_, 
     user7_.addrGeoStatus as addrGeo18_6_6_, 
     user7_.addrLat as addrLat6_6_, 
     user7_.addrLine1 as addrLine20_6_6_, 
     user7_.addrLine2 as addrLine21_6_6_, 
     user7_.addrLng as addrLng6_6_, 
     user7_.addrPostCode as addrPos23_6_6_, 
     user7_.addrTownCity as addrTow24_6_6_, 
     user7_.lastLoginFailureIpAddress as lastLog25_6_6_, 
     user7_.lastLoginIpAddress as lastLog26_6_6_, 
     user7_.lastLoginTime as lastLog27_6_6_, 
     user7_.lastName as lastName6_6_, 
     user7_.loginCount as loginCount6_6_, 
     user7_.loginFailures as loginFa30_6_6_, 
     user7_.middleInitial as middleI31_6_6_, 
     user7_.mobileSecurityCode as mobileS32_6_6_, 
     user7_.mobileVerified as mobileV33_6_6_, 
     user7_.passWord as passWord6_6_, 
     user7_.phoneHome as phoneHome6_6_, 
     user7_.phoneMobile as phoneMo36_6_6_, 
     user7_.regRandomNumber as regRand37_6_6_, 
     user7_.registrationIpAddress as registr38_6_6_, 
     user7_.timeZone as timeZone6_6_, 
     user7_.timeZoneGroup as timeZon40_6_6_, 
     user7_.userAdmin as userAdmin6_6_, 
     user7_.userName as userName6_6_, 
     user8_.id as id6_7_, 
     user8_.createUser as createUser6_7_, 
     user8_.created as created6_7_, 
     user8_.entityState as entitySt3_6_7_, 
     user8_.updateUser as updateUser6_7_, 
     user8_.updated as updated6_7_, 
     user8_.version as version6_7_, 
     user8_.agreedTerms as agreedTe6_6_7_, 
     user8_.browserType as browserT7_6_7_, 
     user8_.country as country6_7_, 
     user8_.dateFormat as dateFormat6_7_, 
     user8_.defaultPlayer as default45_6_7_, 
     user8_.dob as dob6_7_, 
     user8_.email as email6_7_, 
     user8_.emailVerified as emailVe12_6_7_, 
     user8_.firstName as firstName6_7_, 
     user8_.gender as gender6_7_, 
     user8_.groupName as groupName6_7_, 
     user8_.addrCountry as addrCou16_6_7_, 
     user8_.addrCounty as addrCounty6_7_, 
     user8_.addrGeoStatus as addrGeo18_6_7_, 
     user8_.addrLat as addrLat6_7_, 
     user8_.addrLine1 as addrLine20_6_7_, 
     user8_.addrLine2 as addrLine21_6_7_, 
     user8_.addrLng as addrLng6_7_, 
     user8_.addrPostCode as addrPos23_6_7_, 
     user8_.addrTownCity as addrTow24_6_7_, 
     user8_.lastLoginFailureIpAddress as lastLog25_6_7_, 
     user8_.lastLoginIpAddress as lastLog26_6_7_, 
     user8_.lastLoginTime as lastLog27_6_7_, 
     user8_.lastName as lastName6_7_, 
     user8_.loginCount as loginCount6_7_, 
     user8_.loginFailures as loginFa30_6_7_, 
     user8_.middleInitial as middleI31_6_7_, 
     user8_.mobileSecurityCode as mobileS32_6_7_, 
     user8_.mobileVerified as mobileV33_6_7_, 
     user8_.passWord as passWord6_7_, 
     user8_.phoneHome as phoneHome6_7_, 
     user8_.phoneMobile as phoneMo36_6_7_, 
     user8_.regRandomNumber as regRand37_6_7_, 
     user8_.registrationIpAddress as registr38_6_7_, 
     user8_.timeZone as timeZone6_7_, 
     user8_.timeZoneGroup as timeZon40_6_7_, 
     user8_.userAdmin as userAdmin6_7_, 
     user8_.userName as userName6_7_, 
     league9_.id as id0_8_, 
     league9_1_.createUser as createUser0_8_, 
     league9_1_.created as created0_8_, 
     league9_1_.entityState as entitySt3_0_8_, 
     league9_1_.updateUser as updateUser0_8_, 
     league9_1_.updated as updated0_8_, 
     league9_1_.version as version0_8_, 
     league9_1_.ageGroup as ageGroup0_8_, 
     league9_1_.ageGroupNickname as ageGroup7_0_8_, 
     league9_1_.country as country0_8_, 
     league9_1_.currentSeason as current16_0_8_, 
     league9_1_.dtype as dtype0_8_, 
     league9_1_.introNotes as introNotes0_8_, 
     league9_1_.mainLocation as mainLoc17_0_8_, 
     league9_1_.name as name0_8_, 
     league9_1_.photoId as photoId0_8_, 
     league9_1_.sport as sport0_8_, 
     league9_.leagueGroup as leagueGr6_25_8_, 
     league9_.leagueTable as leagueTa7_25_8_, 
     league9_.pointsDraw as pointsDraw25_8_, 
     league9_.pointsLoss as pointsLoss25_8_, 
     league9_.pointsWin as pointsWin25_8_, 
     league9_.splitter as splitter25_8_, 
     location10_.id as id0_9_, 
     location10_1_.createUser as createUser0_9_, 
     location10_1_.created as created0_9_, 
     location10_1_.entityState as entitySt3_0_9_, 
     location10_1_.updateUser as updateUser0_9_, 
     location10_1_.updated as updated0_9_, 
     location10_1_.version as version0_9_, 
     location10_1_.ageGroup as ageGroup0_9_, 
     location10_1_.ageGroupNickname as ageGroup7_0_9_, 
     location10_1_.country as country0_9_, 
     location10_1_.currentSeason as current16_0_9_, 
     location10_1_.dtype as dtype0_9_, 
     location10_1_.introNotes as introNotes0_9_, 
     location10_1_.mainLocation as mainLoc17_0_9_, 
     location10_1_.name as name0_9_, 
     location10_1_.photoId as photoId0_9_, 
     location10_1_.sport as sport0_9_, 
     location10_.addrCountry as addrCoun1_13_9_, 
     location10_.addrCounty as addrCounty13_9_, 
     location10_.addrGeoStatus as addrGeoS3_13_9_, 
     location10_.addrLat as addrLat13_9_, 
     location10_.addrLine1 as addrLine5_13_9_, 
     location10_.addrLine2 as addrLine6_13_9_, 
     location10_.addrLng as addrLng13_9_, 
     location10_.addrPostCode as addrPost8_13_9_, 
     location10_.addrTownCity as addrTown9_13_9_, 
     location10_.comments as comments13_9_, 
     location10_.entity as entity13_9_, 
     location10_.globalx as globalx13_9_, 
     location10_.locationType as locatio12_13_9_, 
     location10_.user as user13_9_, 
     superentit11_.id as id0_10_, 
     superentit11_.createUser as createUser0_10_, 
     superentit11_.created as created0_10_, 
     superentit11_.entityState as entitySt3_0_10_, 
     superentit11_.updateUser as updateUser0_10_, 
     superentit11_.updated as updated0_10_, 
     superentit11_.version as version0_10_, 
     superentit11_.ageGroup as ageGroup0_10_, 
     superentit11_.ageGroupNickname as ageGroup7_0_10_, 
     ... deleted due to over stackoverflow post limit ... 
     user12_.agreedTerms as agreedTe6_6_11_, 
     user12_.browserType as browserT7_6_11_, 
     user12_.country as country6_11_, 
     user12_.dateFormat as dateFormat6_11_, 
     user12_.defaultPlayer as default45_6_11_, 
     user12_.dob as dob6_11_, 
     user12_.email as email6_11_, 
     user12_.emailVerified as emailVe12_6_11_, 
     user12_.firstName as firstName6_11_, 
     user12_.gender as gender6_11_, 
     user12_.groupName as groupName6_11_, 
     user12_.addrCountry as addrCou16_6_11_, 
     user12_.addrCounty as addrCounty6_11_, 
     user12_.addrGeoStatus as addrGeo18_6_11_, 
     user12_.addrLat as addrLat6_11_, 
     user12_.addrLine1 as addrLine20_6_11_, 
     user12_.addrLine2 as addrLine21_6_11_, 
     user12_.addrLng as addrLng6_11_, 
     user12_.addrPostCode as addrPos23_6_11_, 
     user12_.addrTownCity as addrTow24_6_11_, 
     user12_.lastLoginFailureIpAddress as lastLog25_6_11_, 
     user12_.lastLoginIpAddress as lastLog26_6_11_, 
     user12_.lastLoginTime as lastLog27_6_11_, 
     user12_.lastName as lastName6_11_, 
     user12_.loginCount as loginCount6_11_, 
     user12_.loginFailures as loginFa30_6_11_, 
     user12_.middleInitial as middleI31_6_11_, 
     user12_.mobileSecurityCode as mobileS32_6_11_, 
     user12_.mobileVerified as mobileV33_6_11_, 
     user12_.passWord as passWord6_11_, 
     user12_.phoneHome as phoneHome6_11_, 
     user12_.phoneMobile as phoneMo36_6_11_, 
     user12_.regRandomNumber as regRand37_6_11_, 
     user12_.registrationIpAddress as registr38_6_11_, 
     user12_.timeZone as timeZone6_11_, 
     user12_.timeZoneGroup as timeZon40_6_11_, 
     user12_.userAdmin as userAdmin6_11_, 
     user12_.userName as userName6_11_, 
     user13_.id as id6_12_, 
     user13_.createUser as createUser6_12_, 
     user13_.created as created6_12_, 
     user13_.entityState as entitySt3_6_12_, 
     user13_.updateUser as updateUser6_12_, 
     user13_.updated as updated6_12_, 
     user13_.version as version6_12_, 
     user13_.agreedTerms as agreedTe6_6_12_, 
     user13_.browserType as browserT7_6_12_, 
     user13_.country as country6_12_, 
     user13_.dateFormat as dateFormat6_12_, 
     user13_.defaultPlayer as default45_6_12_, 
     user13_.dob as dob6_12_, 
     user13_.email as email6_12_, 
     user13_.emailVerified as emailVe12_6_12_, 
     user13_.firstName as firstName6_12_, 
     user13_.gender as gender6_12_, 
     user13_.groupName as groupName6_12_, 
     user13_.addrCountry as addrCou16_6_12_, 
     user13_.addrCounty as addrCounty6_12_, 
     user13_.addrGeoStatus as addrGeo18_6_12_, 
     user13_.addrLat as addrLat6_12_, 
     user13_.addrLine1 as addrLine20_6_12_, 
     user13_.addrLine2 as addrLine21_6_12_, 
     user13_.addrLng as addrLng6_12_, 
     user13_.addrPostCode as addrPos23_6_12_, 
     user13_.addrTownCity as addrTow24_6_12_, 
     user13_.lastLoginFailureIpAddress as lastLog25_6_12_, 
     user13_.lastLoginIpAddress as lastLog26_6_12_, 
     user13_.lastLoginTime as lastLog27_6_12_, 
     user13_.lastName as lastName6_12_, 
     user13_.loginCount as loginCount6_12_, 
     user13_.loginFailures as loginFa30_6_12_, 
     user13_.middleInitial as middleI31_6_12_, 
     user13_.mobileSecurityCode as mobileS32_6_12_, 
     user13_.mobileVerified as mobileV33_6_12_, 
     user13_.passWord as passWord6_12_, 
     user13_.phoneHome as phoneHome6_12_, 
     user13_.phoneMobile as phoneMo36_6_12_, 
     user13_.regRandomNumber as regRand37_6_12_, 
     user13_.registrationIpAddress as registr38_6_12_, 
     user13_.timeZone as timeZone6_12_, 
     user13_.timeZoneGroup as timeZon40_6_12_, 
     user13_.userAdmin as userAdmin6_12_, 
     user13_.userName as userName6_12_ 
    from 
     players player0_ 
    inner join 
     superentities player0_1_ 
      on player0_.id=player0_1_.id 
    inner join 
     users user1_ 
      on player0_1_.createUser=user1_.id 
    left outer join 
     users user2_ 
      on user1_.createUser=user2_.id 
    left outer join 
     users user3_ 
      on user1_.updateUser=user3_.id 
    left outer join 
     players player4_ 
      on user1_.defaultPlayer=player4_.id 
    left outer join 
     superentities player4_1_ 
      on player4_.id=player4_1_.id 
    inner join 
     users user5_ 
      on player0_1_.updateUser=user5_.id 
    left outer join 
     seasons season6_ 
      on player0_1_.currentSeason=season6_.id 
    left outer join 
     users user7_ 
      on season6_.createUser=user7_.id 
    left outer join 
     users user8_ 
      on season6_.updateUser=user8_.id 
    left outer join 
     leagues league9_ 
      on season6_.league=league9_.id 
    left outer join 
     superentities league9_1_ 
      on league9_.id=league9_1_.id 
    left outer join 
     locations location10_ 
      on player0_1_.mainLocation=location10_.id 
    left outer join 
     superentities location10_1_ 
      on location10_.id=location10_1_.id 
    left outer join 
     superentities superentit11_ 
      on location10_.entity=superentit11_.id 
    left outer join 
     players superentit11_1_ 
      on superentit11_.id=superentit11_1_.id 
    left outer join 
     clubs superentit11_2_ 
      on superentit11_.id=superentit11_2_.id 
    left outer join 
     squads superentit11_3_ 
      on superentit11_.id=superentit11_3_.id 
    left outer join 
     businesses superentit11_4_ 
      on superentit11_.id=superentit11_4_.id 
    left outer join 
     locations superentit11_5_ 
      on superentit11_.id=superentit11_5_.id 
    left outer join 
     resources superentit11_6_ 
      on superentit11_.id=superentit11_6_.id 
    left outer join 
     sportscentres superentit11_7_ 
      on superentit11_.id=superentit11_7_.id 
    left outer join 
     leagues superentit11_8_ 
      on superentit11_.id=superentit11_8_.id 
    left outer join 
     leaguegroups superentit11_9_ 
      on superentit11_.id=superentit11_9_.id 
    left outer join 
     teams superentit11_10_ 
      on superentit11_.id=superentit11_10_.id 
    left outer join 
     users user12_ 
      on location10_.user=user12_.id 
    inner join 
     users user13_ 
      on player0_.user=user13_.id 
    where 
     player0_.id=1 

回答

1

查询似乎表明你有一大堆被映射为急切加载OnetoOne或多对一协会(这是不幸的是,默认值)。所以Hibernate热切地加载它们。

例如,它似乎是一个用户引用另一个用户,它引用了用户等,并且此关联不是延迟加载。

它似乎也是你的所有实体继承自一个共同的超级实体。这可能是错误的:商业和玩家不是同一种实体,不应该在同一个实体层次结构中。 commen实体可能应该被MappedSuperclass替换。

+0

谢谢,我已经取得了一些进展。有一个MappedSuperClass,其中包含用于存储创建和上次更新用户的属性,以及从eclipselink行为更改为急切加载的问题。 SuperEntity的作用是少于10个实体类(它们具有很多共同性)扩展这个继承树的根,然后我可以存储对SuperEntity的引用并使用多态性。我不认为我可以存储对MappedSuperClass的引用,因为没有公共ID? – Oversteer 2012-07-21 16:45:27

+0

不,你不能。但是你真的有与任何一种超级实体相关的实体吗?哪种用例? – 2012-07-21 16:50:25

+0

这个想法是,球队,俱乐部和联赛都有成员,经理和事件(以及更多)。现在它的工作方式是拥有两个SuperEntity属性的会员表可以处理一个球员是一个球队的成员,或者一个球队是一个俱乐部的成员,或者是一个联盟成员的球队。我知道它看起来不太好,但是在某种程度上,我认为它为我节省了一些代码。但是超级球员表将会采取一些锤炼,我意识到这一点,而且我认为我现在可以处理更好的思维结构。 – Oversteer 2012-07-21 16:58:25