2012-03-29 6 views
0

Ich möchte durchsuchbares Plugin in der serialisierbaren Domäne verwenden.Ich möchte ein durchsuchbares Plugin in der serialisierbaren Domäne verwenden

Das Problem ist jetzt, dass es kompilieren tut, wenn ich diesen Code hinzu:

Klasse Produkt implementiert Serializable {

statische Transienten = [ 'durchsuchbare']

statische durchsuchbare = true

Ich weiß nicht, wie dieses durchsuchbare Plugin funktioniert .. Außerdem habe ich auch hasMany und b elongsTo Beziehungen in der Domäne Produkt. Andere sind auch serializable Domain

So pls CUD jemand sagen Sie mir den richtigen Weg, um diese Domäne zu machen durchsuchbare

Antwort

0

allererst Sie nicht die Transienten Definition müssen dort. Das ist alles, was Sie brauchen, um loszulegen:

static searchable = true 

Sie, indem Sie testen "http: // localhost: 8080/YOUR-APP-NAME-HERE/durchsuchbar". Wenn Sie tatsächlich Produkte hinzugefügt haben, können Sie eines der einfachen Felder in Ihrer Domäne durchsuchen (z. B. ein Feld String productName), indem Sie nur diese URL verwenden.

Sobald Sie sind sicher, dass es funktioniert, kann man Suchfelder in Formularen setzen und einige benutzerdefinierte Methoden, um Ihre Produkt Controller fügen Sie die Suchfunktion zu verwenden:

//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] 
     } 
    } 

Soweit Ihre hasMany Referenzen solange Sie sind auch suchbar und sollten in der Lage sein, diese in die Suche einzubeziehen. Ich musste das noch nicht machen, also bin ich nicht auf die Details positiv.

+0

Aber sobald ich die Zeile "static searchable = true" setzen, wird der Fehler angezeigt. "[Main] ERROR context.GrailsContextLoader - Fehler beim Ausführen von Bootstraps: com.infusion.util.domain.event.hibernate.InterceptableSessionFactory kann nicht sein caste to org.hibernate.impl.SessionFactoryImpl " – nandini

+0

Verwenden Sie das Multi-Tenant-Plugin? Es gibt ein paar Treffer für Probleme im Zusammenhang mit MultiTenant und durchsuchbar von MultiTenant einschließlich des "Falcone" -Plugins als Abhängigkeit. Hier kommt die Referenz "Infusion" her. Schauen Sie sich den folgenden Link an: http://grails.1312388.n4.nabble.com/Plugin-Incompatibility-Multi-Tenant-Searchable-td1354534.html – Kelly

+0

yeah !! es war das gleiche Konfliktproblem .. danke übrigens – nandini

Verwandte Themen