我在使用hibernate中的命名查詢嘗試顯示少量表的內容時出現錯誤。我試圖尋找答案,但沒有成功。代碼如下所示。如下圖所示休眠:使用命名查詢時出現意外錯誤
<sql-query name="ActiveCustomers">
<return alias="cts" class="Customer"/>
SELECT
cts.cid AS {cts.cid},
cts.cname AS {cts.cname},
cts.email AS {cts.email},
cts.status {cts.status}
FROM Customers cts
WHERE cts.status=:st
</sql-query>
從客戶端,我調用它:
SessionFactory sf=CHibernateUtil.getSessionFactory();
Session session=sf.openSession();
tx=session.beginTransaction();
list=session.getNamedQuery("ActiveCustomers").setString("st","Active").list();
for(Customer c:list){
System.out.println(c);
}
tx.commit();
session.close();
但我收到此錯誤:
休眠:
SELECT
cts.cid AS cid0_,
cts.cname AS cname0_0_,
cts.email AS email0_0_,
cts.status status0_0_
FROM Customers cts
WHERE cts.status=?
org.hibernate.exception.GenericJDBCException: could not execute query
at org.hibernate.exception.ErrorCodeConverter.handledNonSpecificException(ErrorCodeConverter.java:92)
.
.
Caused by: java.sql.SQLException: Column 'city0_0_' not found.
但如果我添加表中的所有列然後工作。但那不是我的要求。我的要求是隻顯示cid,cname,電子郵件和狀態。
user2900314,我不是你做什麼確切的變化o修復的問題,你說清楚',我們需要使用不同的標籤叫什麼不同的標籤?你也在你的答案中提供了2'',其中1與你的問題相符。你能否提供更多關於你如何解決這個問題的細節? –
Chaitanya
2014-09-23 05:19:52
@Chaitanya編輯中出現了一些問題。我現在修復了它,現在查看它,並讓我知道是否需要更多的說明。 第一個是我們有問題,第二個是糾正之一。 –
User27854
2014-09-23 10:45:52
謝謝,現在很清楚。 – Chaitanya 2014-09-23 11:32:24