@NotNull vs @Column(nullable = false)

本文探讨了在Java中使用注解@NotNull与@Column(nullable=false)的区别,解析这两种方式如何确保数据库字段的非空特性,并讨论其在实际应用中的考量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

根据以下实体示例,参考其中的注解个注释,帮我在PDManer 创建一个 通用的 可以创建java实体的模版,根据模版可以直接生成程序代码, 以下是项目中的其他实体 /** * Help实体 * @author 自动生成 * @version V1.0.0 2025/06/09 * @since V100R001 */ @MappedSuperclass @ApiModel(description="Help") @Data @EntityListeners(AuditingEntityListener.class) public class Help implements BaseEntity,Serializable { private static final long serialVersionUID = 1L; public Help() { this.orgId = StringUtil.isNotNull(PrincipalContextUser.getPrincipal()) ? PrincipalContextUser.getPrincipal().getOrgId() : ""; this.domainId = StringUtil.isNotNull(PrincipalContextUser.getPrincipal()) ? PrincipalContextUser.getPrincipal().getOrgId() : ""; } /** * 主键id */ @Id @Column(length = 50) private String id = UUIDHelper.NewID(); /** * 名称 */ @Column(length=50) @ApiModelProperty("名称") @NotBlank(message = "分析项目名称{validation.message.blank}") @Length(message = "分析项目名称{validation.message.length}", max = 50) private String analyzeItemName; /** * 分析因子编号 */ @Column(length=50) @ApiModelProperty("分析因子编号") @Length(message = "分析项目编号{validation.message.length}", max = 50) private String analyzeItemCode; /** * 变量名称(预留,前台改为别名) */ @Column(length=50) @ApiModelProperty("变量名称(预留,前台改为别名)") @Length(message = "分析项目别名{validation.message.length}", max = 50) private String variableName; /** * 统计别名 */ @ApiModelProperty("统计别名") @Length(message = "统计别名{validation.message.length}", max = 255) private String statisticalAlias; /** * 拼音缩写 */ @Column(length=50) @ApiModelProperty("拼音缩写") private String pinYin; /** * 全拼 */ @Column(length=100) @ApiModelProperty("全拼") private String fullPinYin; /** * CAS号 */ @Column(length=50) @ApiModelProperty("CAS号") @Length(message = "CAS号{validation.message.length}", max = 50) private String casNum; /** * 是否删除 */ @Column(nullable=false) @ColumnDefault("0") @ApiModelProperty("是否删除") private Boolean isDeleted=false; /** * 排序值 */ @Column(nullable=false) @ColumnDefault("0") @ApiModelProperty("排序值") private Integer orderNum; /** * 组织机构id */ @Column(length=50,nullable=false) @ColumnDefault("'00000000-0000-0000-0000-000000000000'") @ApiModelProperty("组织机构id") private String orgId; /** * 创建人 */ @Column(length=50,nullable=false) @ColumnDefault("'00000000-0000-0000-0000-000000000000'") @CreatedBy @ApiModelProperty("创建人") private String creator; /** * 创建时间 */ @Column(nullable=false) @ColumnDefault("getdate") @CreatedDate @ApiModelProperty("创建时间") private Date createDate; /** * 所属实验室 */ @Column(length=50,nullable=false) @ColumnDefault("'00000000-0000-0000-0000-000000000000'") @ApiModelProperty("所属实验室") private String domainId; /** * 修改人 */ @Column(length=50,nullable=false) @ColumnDefault("'00000000-0000-0000-0000-000000000000'") @LastModifiedBy @ApiModelProperty("修改人") private String modifier; /** * 修改时间 */ @Column(nullable=false) @ColumnDefault("getdate") @LastModifiedDate @ApiModelProperty("修改时间") private Date modifyDate; }
06-10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值