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

时间:2017-11-23 12:38:15

标签: java hibernate hibernate-mapping

我的课程中有很多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;

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

1 个答案:

答案 0 :(得分:5)

您需要自己的Dialect

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

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

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

  3. MyDialecthibernate.cfg.xml中使用hibernate.properties