栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Hibernate如何映射SQL数据类型nvarchar(max)?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Hibernate如何映射SQL数据类型nvarchar(max)?

在Tremend Tech
Blog上
找到了答案。您必须编写自己的SQLServerDialect类,它看起来像这样:

public class SQLServerNativeDialect extends SQLServerDialect {     public SQLServerNativeDialect() {         super();         registerColumnType(Types.VARCHAR, "nvarchar($l)");         registerColumnType(Types.CLOB, "nvarchar(max)");     }    public String getTypeName(int pre, int length, int precision, int scale) throws HibernateException {        if(pre != 2005) { return super.getTypeName(pre, length, precision, scale);        } else { return "ntext";        }    }}

此类将Hibernate的类型映射为SQL类型,因此该类会将 nvarchar(max) SQL数据类型映射 为Hibernate的
CLOB
数据类型。

getTypeName
方法被用来当Hibernate询问与2005码(看起来像它的数据类型为nvarchar(max)数据类型)的数据类型返回“NTEXT”。

最后,您需要将hibernate持久性方言更改为这个新的SQLServerDialect类,该类允许hibernate将数据类型转换为SQL数据类型。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/467043.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号