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