मैं दो तालिकाओं Item
और Nikasa
है है - जिसका परिभाषाओं लगता है:हाइबरनेट - NonUniqueDiscoveredSqlAliasException जब दो तालिका एक ही स्तंभ नाम
Item { id, name, spec}
और Nikasa {id, date, item_id}.
यहाँ ITEM_ID Item.id. का प्रतिनिधित्व करता है
मैं एक साधारण देशी एसक्यूएल केवल Item.id और Nikasa.id चयन करने के लिए शामिल होने के लिए किया था के रूप में:
Session s = getSession();
SQLQuery sq = s.createSQLQuery("SELECT it.id, nik.id FROM item it LEFT JOIN nikasa nik ON (it.id = nik.item_id)");
List result = sq.list();
लेकिन मैं लाइन List result=sq.list();
पर अपवाद NonUniqueDiscoveredSqlAliasException : Encountered a duplicated sql alias [ID] during auto-discovery of a native-sql query
हो रही है:
ढेर ट्रेस:
org.hibernate.loader.custom.NonUniqueDiscoveredSqlAliasException: Encountered a duplicated sql alias [ID] during auto-discovery of a native-sql query
at org.hibernate.loader.custom.CustomLoader.autoDiscoverTypes(CustomLoader.java:594)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1986)
at org.hibernate.loader.Loader.doQuery(Loader.java:829)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:289)
at org.hibernate.loader.Loader.doList(Loader.java:2463)
at org.hibernate.loader.Loader.doList(Loader.java:2449)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2279)
at org.hibernate.loader.Loader.list(Loader.java:2274)
at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:331)
at org.hibernate.internal.SessionImpl.listCustomQuery(SessionImpl.java:1585)
at org.hibernate.internal.AbstractSessionImpl.list(AbstractSessionImpl.java:224)
at org.hibernate.internal.SQLQueryImpl.list(SQLQueryImpl.java:156)
क्या आप कृपया सुझाव दे सकते हैं कि क्या गलत है?
ऐसा लगता है कि मैंने इसे हल किया। 'इसे चुनें। Iid के रूप में, nik.id के रूप में nid' रहस्य किया था। – gtiwari333