一般动作
登录
Wiki: BROPEN ▼: Document Index
»
Space: FAQ ▼: Document Index
»
Page: Domain类中如何将属性设置为大文本字段（如CLOB）
搜索
zh
页面动作
导出 ▼: 以PDF格式导出 以RTF格式导出 以HTML格式导出
更多动作 ▼: 打印预览 察看源码
欢迎进入Wiki » FAQ » Domain类中如何将属性设置为大文本字段（如CLOB）?

# Domain类中如何将属性设置为大文本字段（如CLOB）?

在2013-10-17 09:42上被李小翔修改
评论 (0) · 附件 (0) · 记录 · 信息

# 问题描述

当需要记录大量文本的情况下，如新闻、公告、日志记录等，数据库中往往使用对应的大文本字段进行数据存储，如Oracle的CLOB、MySQL的longtext、SQLServer的nvarchar(MAX)。

# 解决方案

在BroToolkit中，自定义了几个常用的数据库方言（bropen.toolkit.orm.XxxxDialect），以及一个方言解析器（BroDialectResolver），在应用启动过程中，针对数据库类型自动加载对应的方言类。当然，如果您在应用的DataSource中指定了自定义的数据库方言，建议继承自上述方言类，以免导致不可预见的问题。

在这些方言类中，针对长文本类型的Domain属性，自动映射到对应的数据库字段类型上。编写Domain类时，只需要在constraints里设置好属性的长度、mapping里设置属性类型为text即可。

示例代码如下：

class Article {
String body
static constraints = {
body(nullable:true, maxSize:10000000)
}
static mapping = {
body type:"text"
}
}

# 适用于

BroToolkit 3.0+

标签： BroToolkit hibernate clob dialect
在2013-10-17 09:42上被李小翔创建

- 评论 （0）
- 附件 （0）
- 记录
- 信息

# 快速链接

- 首页
- 新闻动态
- FAQ

Copyright © 2013 北京博瑞开源软件有限公司
京ICP备12048974号