0

我们开发了一个使用 Postgres 数据库作为持久性介质的 Java EE 应用程序。我们的一些实体属性被映射为浮点数。对这些列进行排序会导致以下结果:

  分数
  1.0
  100.2
  2.0
  20.0
  3.0

我预期的结果是:

  分数
  1.0
  2.0
  3.0
  20.0
  100.2

float 属性在 postgres 数据库中使用数据类型 float(8) 进行映射。使用以下普通 sql 查询排序按预期工作:

SELECT score FROM Evaluation ORDER BY score::float

还将列类型更改为“真实”的作品。有什么方法(除了使用列定义)可以使用 jpa 来完成这项工作吗?

4

1 回答 1

1

对不起您的努力:(。我再次查看了域模型。他们将分数保存在两列中。一列是浮点数,另一列是 varchar。排序操作对 varchar 列进行排序,所以字母数字排序是可以的。

于 2012-07-17T05:47:25.043 回答