JPA Postgres浮点映射/排序

时间:2012-07-12 14:40:30

标签: postgresql sorting jpa natural-sort

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

  SCORE
  1.0
  100.2
  2.0
  20.0
  3.0

我预期的结果是:

  SCORE
  1.0
  2.0
  3.0
  20.0
  100.2

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

SELECT score FROM Evaluation ORDER BY score::float

同时将列类型更改为“real”也可以。是否有任何方法(使用列定义除外)与jpa一起使用?

1 个答案:

答案 0 :(得分:1)

很抱歉你的努力:(。我再看一下域模型。他们将得分保存在两列中。一列是浮点数,另一列是varchar。排序操作对varchar列进行排序,因此字母数字排序没关系。