繁体   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