建表的时候如果数据库是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
}
}
}
添加回复
请先登陆