gpt4 book ai didi

java - NonUniqueDiscoveredSqlAliasException 当两个表具有相同的列名时

转载 作者:IT老高 更新时间:2023-10-28 20:21:34 25 4
gpt4 key购买 nike

我有两个表 ItemNikasa - 其定义如下:

Item { id, name, spec}Nikasa {id, date, item_id}。 这里item_id 代表Item。 id.

我做了一个简单的原生 SQL 连接,只选择 Item.idNikasa.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();:

堆栈跟踪:

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)

您能否建议发生了什么问题?

最佳答案

您需要设置结果别名。

SELECT it.id as itemid, nik.id as nikasaid FROM item it LEFT JOIN nikasa nik ON (it.id = nik.item_id)

关于java - NonUniqueDiscoveredSqlAliasException 当两个表具有相同的列名时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10663785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com