Hibernate columnDefault true需要映射到sqlserver BIT default 1.<



我需要在生成的SQL模式中将@org.hibernate.annotations.ColumnDefault("true")映射到BIT default 1。除了添加@Column(columnDefinintion="BIT default 1")

,还有其他方法吗?我使用SQL Server 2008 Dialect和hibernate 5.3.26和XPAND来生成代码。

我也试过使用@org.hibernate.type.BooleanType,但它不起作用。在hibernate核心和org/hibernate/cfg/Ejb3Column.java:625中也做了一些调试,其中它采用@ColumnDefault注释值,然后将其设置为org/hibernate/mapping/Table.java:561中没有映射的值。也许我错过了什么。是否有办法重写此功能?

SQL类型和默认值映射在模式生成中的位置?类、方法等

任何帮助都是感激不尽的。

使用下面的组合解决了这个问题。

@org.hibernate.annotations.Type(type = "org.hibernate.type.BooleanType")
@org.hibernate.annotations.ColumnDefault(value = "1")

最新更新