簡體   English   中英

Mysql 5.5與休眠4順序不一致

[英]Mysql 5.5 with hibernate 4 order by is inconsistent

我們正在將Hibernate 4和mysql 5.5.x與Innodb用作默認引擎。 我們有一個存儲過程,該過程通過連接視圖和在存儲過程內部創建的臨時MYISAM臨時表來返回一些行。 使用休眠會話工廠和會話以及ScrollableResultSet調用存儲的proc。 它返回對象數組的列表。 這是示例查詢

SELECT 
col1, col2, col3, col4
FROM view1 v 
JOIN temptable1 t on t.id = v.id
ORDER BY intcol DESC, varcharcol

這里的問題是......對於具有相同intcol值的行,通過在varcharcol不能正常工作的輔助性的,他們正在以混亂的順序返回。

返回示例行

Row1, 10, 'foo'
Row2 , 10, 'bar'
Row3, 10, 'foo'
Row4, 10, 'foo'
Row5, 10, 'bar'

有人遇到過類似的問題嗎? 預先感謝您的回答。

是的,我發現了一些可以指導您的東西。

例如,您不能在order by子句中使用變量。 您必須連接一個值,然后再使用連接后的值。

像這樣:

$stid = oci_parse($conn, "SELECT X FROM BOOKS " . $orderby);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM