首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为设置默认maxLength?

为设置默认maxLength?
EN

Stack Overflow用户
提问于 2013-10-17 16:43:16
回答 2查看 1.9K关注 0票数 5

我知道您可以通过grails.gorm.default.constraints配置属性通过以下方式设置默认约束:

代码语言:javascript
复制
grails.gorm.default.constraints = {
    '*'(nullable:true)
}

但有没有办法按类型来设置呢?我希望将我的所有字符串默认为maxSize:2000 (主要是强制默认的db映射不是varchar(255))

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-17 17:04:21

我不认为在Config.groovy中有任何方法可以轻松地做到这一点。不过,您可以为hibernate创建一个自定义方言,而不需要太多的麻烦。例如(使用Postgres方言):

代码语言:javascript
复制
 package mypackage;

 import org.hibernate.dialect.PostgreSQLDialect;
 import java.sql.Types;

 public MyPostgresDialect extends PostgresSQLDialect {
     public MyPostgresDialect() {
         super();
         registerColumnType(Types.VARCHAR, "text");
     }
 }

然后更新DataSource.groovy以使用新方言:

代码语言:javascript
复制
datasource {
    ...
    dialect = mypackage.MyPostgresDialect
}
票数 3
EN

Stack Overflow用户

发布于 2013-10-18 16:32:21

只是为了提供我从同事那里得到的一个额外的答案--在这种情况下是不适用的,但可能会对其他人有所帮助.

如果可以在属性中遵循命名约定,则可以执行以下操作:

代码语言:javascript
复制
'*_s': (maxSize:2000)

我个人不喜欢交叉捆绑道具名称和数据类型--但我想把它作为一种方法(尽管我更喜欢ataylor的方言回答……)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19432543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档