我有一项每天午夜运行的工作,我正在使用 JPA 创建表。我想在每次启动作业时为一列(对于当前数据库中存在的所有行)分配一个默认值,然后在作业期间我将根据某些逻辑为该列分配一个不同的值。
例如:
@Column(name = "delete_YN?")
private String deleteYN = "Y";
//getters setters here
Run Code Online (Sandbox Code Playgroud)
我希望每次作业启动时此列都有一个默认值“Y”(上次运行中插入的每一行在作业开始时应将列值设置为“Y”)并且作业分配值“N”通过某种逻辑到专栏。最后,我将能够看到哪些行具有该列的 Y 值,哪些行具有该列的 N 值。我这样做正确吗?这可以吗还是应该使用columnDefinition注释?这和columnDefinition注释到底有什么区别?
@ColumncolumnDefinition 的 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.
*/
Run Code Online (Sandbox Code Playgroud)
您应该使用的columnDefinition是(对于Oracle)
@Column(name="delete_YN", columnDefinition="varchar2(1) DEFAULT 'Y'`")
Run Code Online (Sandbox Code Playgroud)
但我认为你的方法更好,因为对于你绑定到 db 的 columnDefinition 。
我希望我已经为您提供了有关您问题的所有答案。
| 归档时间: |
|
| 查看次数: |
14166 次 |
| 最近记录: |