Java Mailing List Archive

http://www.gg3721.com/

Home » Hibernate Dev List »

[hibernate-dev] Is this a bug or am I just handling it the wrong
 way ?

joël Winteregg

2008-03-11

Replies: Find Java Web Hosting

Author LoginPost Reply
Dear hibernate-dev,


After maaaannny googling and after someone told me (through an IRC chat)
that this problem could be a bug, I finally come to you..

Explanations are given here:
http://forum.hibernate.org/viewtopic.php?p=2379177

This behavior is related to polymorphic Criteria queries using a Table
per class hierarchy mapping where a sub-class contains a one-to-many
association (Set<UserAddress>).

Here is the query and the stack trace:
Hibernate:
  select
    .... All the attributs ...
  from
    User this_
  inner join
    UserAddress useraddress1_
       on this_._oid=useraddress1_._user_oid
  inner join
    UserAddress useraddress1_
       on this_._oid=useraddress1_._user_oid
  where
    useraddress1_.street like ?


00:10:52,366 WARN [JDBCExceptionReporter] [main] SQL Error: 0, SQLState:
42712
00:10:52,366 WARN [JDBCExceptionReporter] [main] SQL Error: 0, SQLState:
42712
00:10:52,366 ERROR[JDBCExceptionReporter] [main] ERROR: table name
"useraddress1_" specified more than once
00:10:52,366 ERROR[JDBCExceptionReporter] [main] ERROR: table name
"useraddress1_" specified more than once
Exception in thread "main" org.hibernate.exception.SQLGrammarException:
could not execute query
 at
org.hibernate.exception.SQLStateConverter.convert (SQLStateConverter.java:67)
 at
org.hibernate.exception.JDBCExceptionHelper.convert (JDBCExceptionHelper.java:43)
 at org.hibernate.loader.Loader.doList (Loader.java:2223)
 at org.hibernate.loader.Loader.listIgnoreQueryCache (Loader.java:2104)
 at org.hibernate.loader.Loader.list (Loader.java:2099)
 at
org.hibernate.loader.criteria.CriteriaLoader.list (CriteriaLoader.java:94)
 at org.hibernate.impl.SessionImpl.list (SessionImpl.java:1569)
 at org.hibernate.impl.CriteriaImpl.list (CriteriaImpl.java:283)
 at
com.netguardians.ngscreener.middleware.simulator.QuerySimulator.Exec(QuerySimulator.java:163)
 at
com.netguardians.ngscreener.middleware.simulator.QuerySimulator.main(QuerySimulator.java:60)
Caused by: org.postgresql.util.PSQLException: ERROR: table name
"useraddress1_" specified more than once
 at
org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1548)
 at
org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1316)
 at
org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:191)
 at
org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:452)
 at
org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:351)
 at
org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:255)
 at
org.hibernate.jdbc.AbstractBatcher.getResultSet (AbstractBatcher.java:186)
 at org.hibernate.loader.Loader.getResultSet (Loader.java:1787)
 at org.hibernate.loader.Loader.doQuery (Loader.java:674)
 at
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections (Loader.java:236)
 at org.hibernate.loader.Loader.doList (Loader.java:2220)
 ... 7 more


I'm using Hibernate 3.2.5.ga. When trying 3.2.6.ga (to see if I get the
same result) I get the following problem (I'm using a standalone JTA
implementation called BTM):
http://opensource.atlassian.com/projects/hibernate/browse/HHH-3109
http://opensource.atlassian.com/projects/hibernate/browse/HHH-3110

For that problem, I think that hint would help me: "Either setup BTM to
bind to JNDI or provide an implementation of
org.hibernate.transaction.TransactionFactory that uses the purely
standalone/in-VM BTM" But that would be the second phase ;-)


Could the problem of the polymorphic query be a bug ? Or am I just
missing something ?


Many thanks in advance for your help and hope to read you soon,


Joël

_______________________________________________
hibernate-dev mailing list
hibernate-dev@(protected)
https://lists.jboss.org/mailman/listinfo/hibernate-dev
©2008 gg3721.com - Jax Systems, LLC, U.S.A.