首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使joda.DateTime成为grails中的可搜索属性

使joda.DateTime成为grails中的可搜索属性
EN

Stack Overflow用户
提问于 2011-01-25 20:37:48
回答 1查看 682关注 0票数 0

我在grails项目中使用joda时间库。我已经安装了可搜索的插件。我有几个域,但现在最重要的是:

代码语言:javascript
运行
复制
import org.joda.time.DateTime

class Entry {

     static searchable = {
     except = ['id', 'version']
     spellCheck "include"
     tags component: true

     title boost: 2.0
        dateCreated boost: 2.0
     }

 String title
 String content
 DateTime dateCreated
 DateTime lastUpdated

}

但是在初始化时,我遇到以下错误:

无法映射Entry.dateCreated。它似乎不适合“可搜索属性”(通常是简单类型,如Strings、日期、数字等)、“可搜索引用”(通常是另一个域类)或“可搜索组件”(通常是使用“embedded”声明定义为组件的另一个域类)。它是由“def”定义的派生属性(没有等效字段的getter方法)吗?尝试使用更具体的返回类型来定义它。

我的问题是:是否可以在grails中搜索dateCreated和/或lastUpdated属性?如果可能的话,怎样才能做到呢?

谢谢。

编辑

如果我要在config.groovy中定义一个自定义转换器,如下所示:

funkyConverter.type':'com.acme.compass.converter.FunkyConverter‘

地图compassSettings = 'compass.converter.

然后在FunkyConverter类中定义什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-25 16:24:03

可搜索版本(任何早期版本)附带的指南针版本中都有一些特殊的案例代码(在org.compass.core.converter.DefaultConverterLookup)类中用于org.joda.time.DateTime类)。我不能直接讨论它是否工作,但看起来它会自动使用Compass中包含的joda DateTime类中的org.compass.core.converter.extended.DataTimeConverter。

然而,对于joda LocalDate和LocalTime类,没有内置的支持。最近对可搜索版本0.6.1 ( http://jira.grails.org/browse/GPSEARCHABLE-28 )的错误修复以及下面所示的registerClass配置在Searchable.groovy中的使用已经修复了我的“它似乎没有合适的‘可搜索属性’.”在Bootstrap.groovy中实例化域对象时,应用程序启动时出现的问题。

代码语言:javascript
运行
复制
compassSettings = [
    "compass.converter.jodatime.type": "net.streamrecorder.web.converter.LocalTimeConverter",
    "compass.converter.jodatime.registerClass": "org.joda.time.LocalTime"
]

请注意,net.streamrecorder.web.converter.LocalTimeConverter是我自己创建的。我以org.compass.core.converter.extended.DataTimeConverter.为模型这个差异中还有一个用于LocalDate的转换器,引用于GPSEARCHABLE-28票证:( http://jira.grails.org/secure/attachment/15729/0001-Nasty-fixes-and-workarounds-for-adding-custom-compas.patch ),当然,您仍然需要为域类中的域成员变量指定转换器,如下所述:( http://grails.org/Searchable+Plugin+-+Converters )

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

https://stackoverflow.com/questions/4798554

复制
相关文章

相似问题

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