使用postgresql中的hibernate注释设置列的默认值

时间:2015-01-28 13:57:05

标签: java hibernate

我想使用hibernate注释在我的表中设置整数值的默认值。它可以工作,但是当我将默认值设置为1时,它总是在数据库中将其设置为零。我不知道我在做什么错了。任何帮助将不胜感激

这就是我正在使用的

@Column(name = "interval",nullable = false, columnDefinition = “int default 1")
private int interval;

我已经检查了几乎所有我不知道的链接,当我将值设置为1然后为什么0存储在数据库中

我知道我们可以这样做

@Column(name = "interval",nullable = false, columnDefinition = “int default 1")
private int interval = 1;

但我不想设置上面我想知道的值,以任何方式使用hibernate设置默认值

我已经看过这些链接 How to set default value in Hibernate Set default values using hibernate annotations in MYSQL

1 个答案:

答案 0 :(得分:2)

那是因为注释描述的是列,而不是数据。

Hibernate不知道原始值是由用户更改还是默认保持不变。

在java中,原始整数默认初始化为0.如果您希望默认情况下间隔为1,则需要这样的内容。

@Column(name = "interval",nullable = false, columnDefinition = “int default 1")
private int interval = 1;

或另一种方式是将间隔声明为整数:

@Column(name = "interval",nullable = false, columnDefinition = “int default 1")
private Integer interval;