Grails, etki alanı nesnelerine çağrılabilen bir isDirty method sağlar. Herhangi bir etki alanı nesnesinin kirli olup olmadığını öğrenmek için, bir yöntem basitçe çağrılabilir, böylece Grails etki alanı modeli sistemi nasıl değiştirilir.grails - bir şey kirli olup olmadığını söyle?
Çivilemediğim bazı "kaydedilmemiş geçici örnek" hatalarıyla uğraşıyorum ve neyin kirli olduğunu bilmek harika olurdu. Bunu groovy ile yapmak için şık bir yolu var mı? koleksiyonlarında en üst düzey örneklerini veya örnekleri kirli olduğunu kontrol ettiğini
import org.hibernate.Session
Session.metaClass.isDirty = { ->
delegate.persistenceContext.entitiesByKey.values().any { it.isDirty() }
}
Bu oturumları Hazırda bir isDirty()
yöntemi ekler ve örneğin withSession
ile kullanabilirsiniz:
Teşekkür Kod Burt ve genel olarak Grails topluluğunu desteklemek için tek yapmanız gereken. Umarım güzel bir yıl geçirmişsindir. Lütfen kodunuza küçük bir değişken eklediğimi unutmayın (lütfen içinde bir hata varsa değiştirin). Maalesef hala hatamı çivilemiyorum. B adlı B'ye sahip bir etki alanı sınıfı var. B'yi kaydetmeye çalıştığımda, kaydedilmemiş bir geçici örneğe başvurduğunu söylüyor: A, şu anda uğraştığım yalnızca A örneğini kaydetmiş olmama rağmen. . B'ye ait bir A'ya sahip olmak için değiştim, belki de B'yi şimdi yalnız bırakmalıyım? B'yi doğrudan kurtarmaya çalışmamalı mıyım? – Ray