Nasıl varlık onLoad () hazırda bekletme Envers kullanarak tetikler mi?

oy
0

Benim Grails 3 projeye hazırda Envers ekliyorum. Bir sahiptir benim varlıklar, biri için fark onLoad()olayı, onLoad()olay Envers revizyon varlıklar için hiçbir zaman çağrılmaz.

Nasıl ben bile bu varlığın tarihsel revizyonlar için, emin bu kod her zaman çağrılır yapabilir?

Kullanım örneği:

Grails 3 JSON görünümleri kullanarak bir sığınakta hizmeti üzerinde çalışıyorum. Benim alanı sınıfları biri tüketici onun türünü söyleyebilir böylece de JSON çıkış görüntülenir gereken bir diskriminatör sütunu vardır. Bu nedenle, alan varlık bir tanımlayan onLoad()ayırt edici türüne uyan bir geçici özelliği doldurur yöntemi:

class MyChildDomainClass extends MyBaseDomainClass {
    void onLoad() {
        valueType = ValueType.STRING
    }

    static mapping = {
        discriminator value: ValueType.STRING
    }
}

Bu normaldir alanı örnekleri için para cezası çalışır, ancak ben Envers gelen bir varlık revizyonu yukarı baktığınızda AuditQueryCreator, denetim queyr çağırma değil onLoad()yöntemini.

Ben sonuçları üzerinde döngü olabilir ve elle çağırmak gibi görünüyor onLoad(), ama bunu düzeltmek için daha iyi bir yolu olduğunu umuyordum.

Şimdiden teşekkürler!

Oluştur 13/01/2020 saat 21:59
kaynak kullanıcı
Diğer dillerde...                            


2 cevaplar

oy
0

doc da belirtildiği gibi, "def" dönüş türünü değiştirmeyi deneyebilirsiniz burada

class Person {
   String name
   Date dateCreated
   Date lastUpdated
   def onLoad() {
      log.debug "Loading ${id}"
   }
}
Cevap 15/01/2020 saat 22:32
kaynak kullanıcı

oy
0

Nasıl ben bile bu varlığın tarihsel revizyonlar için, emin bu kod her zaman çağrılır yapabilir?

Ben de tipik JPA olay yaşam döngüsü açıklamalı etkinlikler gibi çok Grails ancak bu bakışla usta değilim ve bu muhtemel yöntemler olduğunu Gorm ve bir varlığın yaşam döngüsü dayalı çağırmak görünüm (çok JPA implementor gibi).

Uzaklıkta burada büyük önem almak Envers Sorgu API tarafından döndürülen nesneler olmasıdır olmayan kişiler. Onun önemli açıkça etkiler olarak o ayrımı yapmak için çok Bu nesneler, kalıcılık sağlayıcı tarafından yönetilmeyen vb müstakil varlıklar, varlık yaşam döngüsü olaylar gibi kalıcılık davranış beklentileri bir sürü

Bazı sonrası initialize veya diğer yaşam döngüsü geri aramaları varsa bir sonuçlarını getirilirken ateşin gerektiğini AuditQuerygerektiği gibi onun bu yöntemlerin bu ayrımlar yapmak için kullanıcının kodu ve çağırmak.

Cevap 17/01/2020 saat 21:32
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more