2011-12-16 20 views
10

Come si imposta una variabile all'interno di una classe di dominio che non è persistente. Voglio essere in grado di scrivere e leggere su quella variabile, ma non voglio che faccia parte del tavolo.Come si crea una variabile temporanea in una classe di dominio Grails?

Il modo per farlo in rotaie consiste nell'impostare una variabile con attr_accessor. È possibile in Grails? Qualcuno sa come fare questo?

Grazie!

risposta

20

Basta aggiungere i nomi di tutte le variabili transitori all'elenco transients, ad es.

class MyDomain { 

    static transients = ['nonPersistent', 'nonPersistent2'] 

    Integer nonPersistent 
    Integer nonPersistent2 

    Integer persistent 
    Integer persistent2  
} 
0

Qui ho creato variabile transitoria nel dominio classe-

class Application { 
    dataType domainFields //define datatypes 
    static transients = [ 'name'] 

    String getName() { 
     return 'grails App' 
    } 
} 
0

definisce un elenco di nomi di proprietà, che non deve essere mantenuta al database. Questo è spesso utile se si dispone di metodi di accesso di sola lettura ("getter") che sono metodi di supporto ma vengono confusi come relativi alla persistenza.

Esempi

class Author { 
    String name 
    String getUpperCaseName() { name.toUpperCase() } 
    static transients = ['upperCaseName'] 
} 
Problemi correlati