自定义@Column JPA注释,如何



在声明实体POJO时,一直在努力寻找创建一些自定义JPA注释以替换重复字段的解决方案。有什么帮助吗?以下是我试图实现的目标:

//@Column(name = "is_enabled", nullable = false, columnDefinition = "tinyint(1) DEFAULT 1")
@ColumnBooleanNotNullDefaultOne
private Boolean isEnabled;

//@Column(name = "created", nullable = false, updatable = false, insertable = false, columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
@ColumnTimestamp
private Timestamp created;

然而,我的尝试失败了。。。

@Target({METHOD, FIELD})
@Retention(RUNTIME)
@Column // <-- Error here (The annotation @Column is disallowed for this location.)
public @interface BooleanNotNullDefaultOne
{
}

任何帮助都是绝对必要的。

谢谢!

生成一个实现UserType并使用此注释的新类:

@Type(type="fully.qualified.name.of.YourUserType")

此外,@Column注释只能用于方法或变量。请查看Column接口定义的@Target以了解原因。

相关内容

  • 没有找到相关文章

最新更新