我一直在使用Netbeans和MySQL工作最近創建Spring + Hibernate的應用程序,但我已經在我的代碼塊中遇到了一些問題:Hibernate問題session.createQuery(來自TableProcess).list();不工作
public List listSystemProcess() {
List procesosSistema = null;
String hbQuery = "from TableProcess";
try {
Session hbSesion = HibernatePersistenceHandler.getSessionFactory().openSession();
Transaction tx = hbSesion.beginTransaction();
Query query = hbSesion.createQuery(hbQuery);
procesosSistema = query.list();
tx.commit();
hbSesion.close();
} catch (Exception e) {
e.printStackTrace();
}
return procesosSistema;
}
這並不是在所有工作,我得到了一些與SQL語法異常相關的東西,告訴我在「select id2_1,uj8_,5sd_11 from tb_2_1 ...」附近有一個語法錯誤...「
如果我創建了一個SQLQuery而不是HQL,我不覺得有用,因爲我應該爲每個進程執行此操作,而且這很乏味,而且與使用JDBC幾乎相同。
這工作:
String hbQuery = "select p.id,p.nombre,p.descripcion,p.frecuencia_uso,t.nombre "
+ "from tb_proceso_sistema p inner join tb_tipo_proceso t "
+ "on p.tb_tipo_proceso_id = t.id";
Query query = hbSesion.createSQLQuery(hbQuery);
但是當我這樣做,還有,我的JSP修改了一下:
<c:forEach items="${procesosSistema}" var="proceso">
<tr onmouseover="this.style.backgroundColor='#ffff66';"
onmouseout="this.style.backgroundColor='#d4e3e5';">
<td><c:out value="${proceso[0]}"/></td>
<td><c:out value="${proceso[1]}"/></td>
<td><c:out value="${proceso[2]}"/></td>
<td><c:out value="${proceso[3]}"/></td>
<td><c:out value="${proceso[4]}"/></td>
<td></td>
</tr>
</c:forEach>
代替:
<c:forEach items="${procesosSistema}" var="proceso">
<tr onmouseover="this.style.backgroundColor='#ffff66';"
onmouseout="this.style.backgroundColor='#d4e3e5';">
<td><c:out value="${proceso.id}"/></td>
<td><c:out value="${proceso.nombre}"/></td>
<td><c:out value="${proceso.descripcion}"/></td>
...
<td></td>
</tr>
</c:forEach>
當我設置屬性「show_sql」,它顯示了一個奇怪的查詢,如上所示,如下所示:
"select id2_1,uj8_,5sd_11 from SGDP-mysql123.tb_2_1.... tb0"
如果有人能幫助我請,我會非常感激。
在此先感謝。