Версия компаса, поставляемая с версией 0.6 Searchable (любые, возможно, более ранние версии), содержала специальный код (в классе org.compass.core.converter.DefaultConverterLookup) для класса org.joda.time.DateTime.,Я не могу напрямую сказать, работает ли он или нет, но похоже, что он попытается автоматически использовать org.compass.core.converter.extended.DataTimeConverter, включенный в Compass для класса DateTime joda.
Однако для классов joda LocalDate и LocalTime встроенной поддержки не было.Недавнее исправление ошибки в Searchable версии 0.6.1 (http://jira.grails.org/browse/GPSEARCHABLE-28) наряду с использованием конфигурации registerClass в Searchable.groovy, показанной ниже, исправило мое «Это не похоже на подходящее« доступное для поиска свойство »..."проблема, возникающая при запуске приложения во время создания экземпляров объектов домена в Bootstrap.groovy.
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)