먼저 만드는 적절한 방법을 알려 직렬화 도메인을도 있습니다. 이것은 당신이 필요로하는 모든이 시작하는 것입니다
static searchable = true
당신은에 이동하여 테스트 할 수 있습니다에 "http : // localhost를 : 8080/YOUR-APP-NAME-HERE/검색". 실제로 제품을 추가 한 경우 해당 URL을 사용하여 도메인의 간단한 필드 (String productName 필드를 말하면 됨) 중 하나를 검색 할 수 있습니다.
당신은 당신이 검색 기능을 사용하여 양식에 검색 필드를 넣어 제품 컨트롤러에 일부 사용자 지정 방법을 추가 할 수 있습니다 작동하는지 일단 :
//search form
<form controller="product" action="searchForProducts" >
<g:textField name="query" />
<input type="submit" value="search" />
</form>
//ProductController
def searchForProducts = {
if(params.query) {
def products = Product.search(params.query).results
return [productInstanceList: products]
}
}
지금까지 당신의 hasMany의 참조와 같은만큼을 그들은 검색 할 수 있습니다뿐만 아니라 검색에 포함시킬 수 있어야합니다. 나는 아직 이것을 할 필요가 없기 때문에 나는 세부 사항에 긍정적이지 않다.
하지만 곧 "static searchable = true"라는 오류 메시지가 나타납니다. "[main] ERROR context.GrailsContextLoader - 부트 스트랩 실행 중 오류 : com.infusion.util.domain.event.hibernate.InterceptableSessionFactory가 될 수 없습니다. org.hibernate.impl.SessionFactoryImpl로 캐스트 " – nandini
Multi-Tenant 플러그인을 사용하고 있습니까? MultiTenant와 관련된 문제에 대해서는 몇 가지 히트가 있으며 MultiTenant에서 검색 가능한 "Falcone"플러그인을 종속성으로 포함하고 있습니다. 그것은 "주입"참조의 출처입니다. 다음 링크를 확인하십시오. http://grails.1312388.n4.nabble.com/Plugin-Incompatibility-Multi-Tenant-Searchable-td1354534.html – Kelly
예! 그것도 같은 갈등 문제가 .. 덕분에 덕분에 – nandini