Hibernate 仅在基本类型上指定一次@Column 注释

Hibernate specify @Column annotation only once on basic type

我的 class 中有很多 Boolean 字段,我将它们存储在 TINYINT(1)

注解一次没问题,但是我有很多注解,这段代码看起来有点乱:

@Column(nullable = false, columnDefinition = "TINYINT(1)")
private Boolean isRescheduled;
@Column(nullable = false, columnDefinition = "TINYINT(1)")
private Boolean isCancelled;
@Column(nullable = false, columnDefinition = "TINYINT(1)")
private Boolean isFullDay;

是否可以为Boolean指定一次@Column

你需要自己的Dialect

  1. 为您的数据库扩展一个方言,例如 MyDialect extends MySQL5Dialect

  2. MyDialect的构造函数中覆盖一个类型

    registerColumnType(Types.BOOLEAN, "tinyint(1)");

  3. hibernate.cfg.xmlhibernate.properties中使用MyDialect