NutzCN Logo
问答 sqlserver 的nvarchar(max)怎么声明
发布于 2874天前 作者 frenzy917 1839 次浏览 复制 上一个帖子 下一个帖子
标签:

建表的时候如果数据库是sqlserver 想把类型声明称nvarchar(max) 要如何声明?

2 回复

根据不同数据库自定义类型, @ColDefine支持起来有点难

给你几个思路:

自定义evalFieldType

做个Sqlserver2005JdbcExpert的子类,覆盖evalFieldType方法

String org.nutz.dao.impl.jdbc.sqlserver2005.Sqlserver2005JdbcExpert.evalFieldType(MappingField mf)

然后拷贝一份 nutz_jdbc_experts.js放在src或resources下,里面换成你需要的子类, 覆盖默认的

当Sqlserver时遍历Entity的MappingEntity,设置customType

// 示意代码
for (Class<?> klass : Scans.me().scanPackage(packageName)) {
    if (klass.getAnnotation(Table.class) != null) {
        Entity<?> en = dao.getEntity(klass);
		for (MappingField mf : en.getMappingFields()) {
		   // 判断一下,然后setCustomType
		}
    }
}
添加回复
请先登陆
回到顶部