Java Hibernate使用复合键返回无效结果

Java Hibernate使用复合键返回无效结果,java,hibernate,jpa,composite-key,Java,Hibernate,Jpa,Composite Key,我得到了最奇怪的结果。我有一个具有复合键的类。 如果我执行以下查询: 来自l.canonicalId的l阶 描述 我的结果不是按我要求的“canonicalId”列排序的。相反,规范id结果如下所示: 823 823 822 823 有人能给我一些建议,我该如何破解这个问题?我已经弄乱了hashcode和equals,我尝试了一个新类,等等,但都没有用。实际生成的查询是什么?顺序由RDBMS决定。 在Hib配置中打开show_sql并手动运行该查询。实际生成的查询是什么?顺序由RDBMS决定。

我得到了最奇怪的结果。我有一个具有复合键的类。 如果我执行以下查询:

来自l.canonicalId的l阶 描述

我的结果不是按我要求的“canonicalId”列排序的。相反,规范id结果如下所示:

823 823 822 823


有人能给我一些建议,我该如何破解这个问题?我已经弄乱了hashcode和equals,我尝试了一个新类,等等,但都没有用。

实际生成的查询是什么?顺序由RDBMS决定。
在Hib配置中打开show_sql并手动运行该查询。

实际生成的查询是什么?顺序由RDBMS决定。
在Hib配置中打开show_sql并手动运行该查询。

我发现了。我的复合键包含的列不是表主键的一部分。谢谢大家。

我发现了。我的复合键包含的列不是表主键的一部分。谢谢大家。

您是否尝试过按id中的字段排序,如“canonicalId.field”?只是想看看排序是否正确?也可能发布一些.hbm.xml文件。您是否尝试过按id中的字段排序,如“canonicalId.field”?只是想看看顺序是否正确?也可以发布一些.hbm.xml文件