GORM

2011-08-29 11 views
7

ile DB'ye başka bir gezi yapmadan bire çok yüklenen nesnenin kimliğini alma Veritabanı tablolarıyla ilişkili olan GORM etki alanlarına, A & B'ye sahip olmak zorundayım. Veritabanından alınan B karşılık gelen örneğinin İD örneğini almak zamanGORM

class A { 
    B b 
    Long id 
} 

class B { 
    Long id 
} 

: Bu nedenle, sınıfları için benzer için bir B ile bire çok ilişki vardır. Ancak, bu kimliğe aşağıdaki gibi bir şey aracılığıyla erişmeye çalıştığımda, tüm nesne veritabanından yüklenir: . Bazı durumlarda sadece B'nin (daha önce alınmış olan) kimliğini istiyorum ve tüm örneği veritabanından yüklemek istemiyorum. Kimliği geri almak ve tüm nesneyi getirmeden B'den kimlik almanın bir yolu var mı?

Not: a.b.id numaralı satırda ek bir getirme gerçekleştirdiğinin farkındayım, çünkü DataSource dosyamda loggingSql seçeneğini açtığımdan beri üretilen SQL'i görebiliyorum. Yerine

+2

İlgisiz - Gerek duymadığınız alan sınıflarınızda 'Long id' ifadesini belirtmek için - Grails bu alanı sizin için 'version' alanı ile birlikte enjekte eder. –

cevap

8

:

Uzun teklifin =

kullanım abid:

Uzun teklifi = a.bId