Java Hibernate仅在基本类型上指定@Column注释一次
我的类中有很多Java Hibernate仅在基本类型上指定@Column注释一次,java,hibernate,hibernate-mapping,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; @Co
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
一次?您需要自己的方言
扩展数据库的方言,例如mydialent扩展mysql5dialent
在mydial
的构造函数中重写类型
registerColumnType(Types.BOOLEAN,“tinyint(1)”代码>
在hibernate.cfg.xml
或hibernate.properties
中使用mydial
您可以编写自己的注释,如@BooleanColumn
,它只是从@Column继承,但定义了您想要的默认值。@Korashen我想制作一个布尔包装器,并用@embeddeble
对其进行注释。那么这个呢?您仍然需要为每个字段添加注释。因此,这两种方法都可以减少代码中的字符。两种方法都试一下,看看你最喜欢哪种解决方案,然后再去做。