我需要在生成的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")