一尘不染

如何在休眠状态下指定Double的精度?

hibernate

我尝试从hibernate注释创建表。我需要具有Double类型的列,其长度指定为:(10,2)。因此,SQL语法显示如下:

... DOUBLE(10,2) ....

我试图做到这一点:

@Column(length = 10, precision = 2) ...

但是当我查看创建的表时,未指定Double列的长度。hibernate有解决方案吗?还是有必要手动更改表配置?

谢谢!


阅读 237

收藏
2020-06-20

共1个答案

一尘不染

lengthColumn批注的元素 仅在使用字符串值的column时适用 。在您的情况下,应使用precisionscale元素。

@Column(precision=10, scale=2)

这是规范中关于它们的内容:

  • int-- precision(可选)十进制(精确数字)列的精度。(仅在使用十进制列时适用。)
  • int-- scale(可选)十进制(精确数字)列的小数位数。(仅在使用十进制列时适用。)

参考文献

  • JPA 1.0规范
    • 第9.1.5节“列注释”
2020-06-20