[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-2225) NPE when eager fetching joined component with native SQL query

Tomáš Šafařík (JIRA) noreply at atlassian.com
Fri Jul 22 08:05:15 EDT 2011


    [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-2225?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=43039#comment-43039 ] 

Tomáš Šafařík commented on HHH-2225:
------------------------------------

Hi,

This bug is marked like duplicate for HHH-2536, but still it's possible to get related failure.
This bug appears in both 3.6.5 and 4.0.0.Beta1 versions.
Using native sql with entity (addEntity), which has formula property, causes this exception:
-------------------------------------------------------------------------------
Test set: org.hibernate.test.formula.FormulaWithNativeSqlTest
-------------------------------------------------------------------------------
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.991 sec <<< FAILURE!
testBasicUsage(org.hibernate.test.formula.FormulaWithNativeSqlTest)  Time elapsed: 0.966 sec  <<< ERROR!
java.lang.NullPointerException
	at org.hibernate.loader.DefaultEntityAliases.intern(DefaultEntityAliases.java:192)
	at org.hibernate.loader.DefaultEntityAliases.getSuffixedPropertyAliases(DefaultEntityAliases.java:150)
	at org.hibernate.loader.DefaultEntityAliases.determinePropertyAliases(DefaultEntityAliases.java:92)
	at org.hibernate.loader.DefaultEntityAliases.<init>(DefaultEntityAliases.java:64)
	at org.hibernate.loader.ColumnEntityAliases.<init>(ColumnEntityAliases.java:42)
	at org.hibernate.loader.custom.sql.SQLQueryReturnProcessor.generateCustomReturns(SQLQueryReturnProcessor.java:196)
	at org.hibernate.loader.custom.sql.SQLCustomQuery.<init>(SQLCustomQuery.java:151)
	at org.hibernate.engine.query.spi.NativeSQLQueryPlan.<init>(NativeSQLQueryPlan.java:65)
	at org.hibernate.engine.query.spi.QueryPlanCache.getNativeSQLQueryPlan(QueryPlanCache.java:156)
	at org.hibernate.internal.AbstractSessionImpl.getNativeSQLQueryPlan(AbstractSessionImpl.java:218)
	at org.hibernate.internal.AbstractSessionImpl.list(AbstractSessionImpl.java:224)
	at org.hibernate.internal.SQLQueryImpl.list(SQLQueryImpl.java:156)
	at org.hibernate.test.formula.FormulaWithNativeSqlTest.testBasicUsage(FormulaWithNativeSqlTest.java:53)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at junit.framework.TestCase.runTest(TestCase.java:168)
	at junit.framework.TestCase.runBare(TestCase.java:134)
	at junit.framework.TestResult$1.protect(TestResult.java:110)
	at junit.framework.TestResult.runProtected(TestResult.java:128)
	at junit.framework.TestResult.run(TestResult.java:113)
	at junit.framework.TestCase.run(TestCase.java:124)
	at junit.framework.TestSuite.runTest(TestSuite.java:232)
	at junit.framework.TestSuite.run(TestSuite.java:227)
	at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
	at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:146)
	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
	at $Proxy0.invoke(Unknown Source)
	at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:145)
	at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:87)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)

I've attached test file for this bug.


> NPE when eager fetching joined component with native SQL query
> --------------------------------------------------------------
>
>                 Key: HHH-2225
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-2225
>             Project: Hibernate Core
>          Issue Type: Bug
>          Components: query-sql
>    Affects Versions: 3.2.0.ga
>            Reporter: Christian Bauer
>            Assignee: Strong Liu
>             Fix For: 3.6.5, 4.0.0.Beta1
>
>         Attachments: formula-test.zip
>
>
> Item -> many-to-one -> User -> joined component -> billingAddress
> This:
>  result = session.createSQLQuery("select {i.*}, {u.*}, {ba.*} from ITEM i" +
>                                         " join USERS u on i.SELLER_ID = u.USER_ID" +
>                                         " left join BILLING_ADDRESS ba on u.USER_ID = ba.USER_ID" +
>                                         " where u.USERNAME = :uname")
>                          .addEntity("i", Item.class)
>                          .addJoin("u", "i.seller")
>                          .addJoin("ba", "u.billingAddress")
> fails with:
> java.lang.NullPointerException
> 	at org.hibernate.loader.DefaultEntityAliases.<init>(DefaultEntityAliases.java:37)
> 	at org.hibernate.loader.custom.sql.SQLQueryReturnProcessor.generateCustomReturns(SQLQueryReturnProcessor.java:283)
> 	at org.hibernate.loader.custom.sql.SQLCustomQuery.<init>(SQLCustomQuery.java:129)
> 	at org.hibernate.engine.query.NativeSQLQueryPlan.<init>(NativeSQLQueryPlan.java:43)
> 	at org.hibernate.engine.query.QueryPlanCache.getNativeSQLQueryPlan(QueryPlanCache.java:114)
> 	at org.hibernate.impl.AbstractSessionImpl.getNativeSQLQueryPlan(AbstractSessionImpl.java:137)
> 	at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142)
> 	at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:150)

--
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