2012-02-16 17 views
1

私はドメインクラスを持っている:地図にプロパティを追加するには?

class Person { 
    String name 
    Boolean likesGrails 
    Boolean isSmart 
} 

とプリ(ものを決定するfriendを使用します)ビューに渡す前に(新しいプロパティfriendを作成する)データを処理したい:

def people = Person.list() 
people.each { 
    it.friend = likesGrails && isSmart 
} 

このfriendプロパティを追加するにはどうすればよいですか?上記のコードは機能しません(it.friendが存在しないと不平を言います)。あなただけ追加することができる必要があり

答えて

6

static transients = [ 'friend' ] 
public boolean isFriend() { 
    likesGrails && isSmart 
} 

をあなたのドメインクラスに、そしてあなたのビューで

+0

groovyマップにプロパティを追加することは可能です( 'people'はhibernateから来たものではなく、' def people = [....]として定義されました)。 – zoran119

+0

ええ、ちょうどあなたの質問のようにそれを加えることができます:-) –

+0

@ zoran119例: '[[a:1、b:2]、[a:3、b:4]]。 c = it.a + it.b;それは '' –

0

person.friendにアクセスあなたはそれがに保存したくない場合は、一時的に追加することができますあなたのデータベース。

ただし、ランダムなプロパティをオンザフライでドメインクラスに追加することはできません。

関連する問題