我的工作每隔午夜运行一次,我使用JPA来创建表格.我想在每次启动作业时为列(对于当前数据库中存在的所有行)分配默认值,然后在作业期间,我将根据某些逻辑为该列分配不同的值.
例如:
@Column(name = "delete_YN?")
private String deleteYN = "Y";
//getters setters here
我希望每次作业开始时此列都有一个默认值“Y”(在上一次运行中插入的每一行应该在作业开始时将列值设置为“Y”)并且作业分配值“N”通过一些逻辑到列.最后,我将能够看到哪些行具有Y值以及哪些行具有该列的N值.我这样做了吗?这样可以或者应该使用columnDefinition注释吗?这与columnDefinition注释有什么区别?
最佳答案 @Column columnDfinition的JavaDoc
/**
* (Optional) The SQL fragment that is used when
* generating the DDL for the column.
* <p> Defaults to the generated SQL to create a
* column of the inferred type.
*/
你应该使用的columnDefinition(对于Oracle)
@Column(name="delete_YN", columnDefinition="varchar2(1) DEFAULT 'Y'`")
但我认为你的方式更好,因为对于columnDefinition,你要绑定db.
我希望我已经给了你关于你问题的所有答案.