Java 正在尝试为hibernate中的属性指定默认值

Java 正在尝试为hibernate中的属性指定默认值,java,hibernate,Java,Hibernate,尝试将行插入表时,我从hibernate收到以下错误消息: org.hibernate.exception.ConstraintViolationException:列 “优先级”不能为空 我知道我可以在代码中插入一行代码来设置值,但还有许多其他实例程序依赖于数据库中的默认值(db是mysql) 我在某处读到,您可以在hbm.xml文件中提供默认值,但hibernate无法识别它。下面是JobQueue.hbm.xml中的相应部分 <property name="priority"

尝试将行插入表时,我从hibernate收到以下错误消息:

org.hibernate.exception.ConstraintViolationException:列 “优先级”不能为空

我知道我可以在代码中插入一行代码来设置值,但还有许多其他实例程序依赖于数据库中的默认值(db是mysql)

我在某处读到,您可以在hbm.xml文件中提供默认值,但hibernate无法识别它。下面是JobQueue.hbm.xml中的相应部分

    <property name="priority" type="integer">
        <column name="priority" default="0" />
    </property> 

我想另一个选项是修改生成的JobQueue.java文件(我正在使用eclipse hibernate工具自动生成hibernate类),但现在我想尝试让hbm.xml配置正常工作


我正在使用hibernate库的4.1.3版本和eclipse hibernate工具3.4.0.x。

default=“0”
仅与生成数据库架构的SchemaExport相关。除此之外,hibernate完全忽略此设置。您可以尝试为列设置
notnull=“true”

default=“0”
仅与生成数据库架构的SchemaExport相关。除此之外,hibernate完全忽略此设置。您可以尝试为列设置
notnull=“true”

我最终修改了JobQueue.java POJO以设置默认值。为了确保hibernate工具的代码生成不会覆盖此更改,我对其进行了设置,以便代码生成在临时文件夹中生成文件,然后将必要的文件复制到永久源位置。

我最后修改了JobQueue.java POJO以设置默认值。为了确保hibernate工具的代码生成不会覆盖此更改,我对其进行了设置,以便代码生成在临时文件夹中生成文件,然后将必要的文件复制到永久源位置。

除非您无法重新创建整个数据库架构,您可以在变量初始化中设置默认值。 在您的模型中,在初始化中将优先级设置为0

在你们班:

private Integer priority = 0;

除非无法重新创建整个数据库架构,否则可以在变量初始化中设置默认值。 在您的模型中,在初始化中将优先级设置为0

在你们班:

private Integer priority = 0;