Hogyan váltanak egység onLoad () segítségével hibernált Envers?

szavazat
0

Én hozzá Hibernate Envers én Grails 3 projekt. Észrevettem, hogy az egyik személy, amelynek onLoad()esemény, onLoad()esemény soha nem érvényesíthető Envers felülvizsgálatára szervezetek.

Hogyan tudom ellenőrizni, ezt a kódot mindig hivatkozni, még revíziók az entitás?

Használati eset:

Én dolgozom egy nyugodt szolgáltatás használatával Grails 3 JSON nézeteit. Az egyik tartomány osztályok egy diszkriminátort oszlop, amelyet szintén meg kell tenni a JSON kimenet, így a fogyasztó tudja, milyen típusú az. Emiatt a domain egység meghatároz egy onLoad()módszert, amely feltölti az átmeneti megfelelő ingatlan az érmevizsgáló típusa:

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

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

Ez jól működik a normál tartomány esetben, de ha nézek egy egységet ától Envers' AuditQueryCreator, az ellenőrzés queyr nem indítja el a onLoad()módszert.

Úgy tűnik, mintha én is hurkot az eredményeket, és manuálisan hivatkozhat onLoad(), de reméltem, volt egy jobb út-hoz erősít ez.

Előre is köszönöm!

A kérdést 13/01/2020 21:59
a forrás felhasználó
Más nyelveken...                            


2 válasz

szavazat
0

megpróbálhatod megváltoztatja a visszatérési típusát „def”, amint azt a doc itt

class Person {
   String name
   Date dateCreated
   Date lastUpdated
   def onLoad() {
      log.debug "Loading ${id}"
   }
}
Válaszolt 15/01/2020 22:32
a forrás felhasználó

szavazat
0

Hogyan tudom ellenőrizni, ezt a kódot mindig hivatkozni, még revíziók az entitás?

Nem jól ismerik Grails de ezek nagyon hasonlítanak a tipikus JPA esetén életciklus jegyzetekkel események és ezek valószínűleg módszerek GORM (hasonlóan a JPA megvalósítótól) megjelenés és felhasználhatják alapján az életciklus-it.

A nagy fontos elvegye az, hogy tárgyak által visszaadott Envers Query API nem személyek. Ezek a tárgyak nem kezeli a tartósan szolgáltató, ezért fontos, hogy világosan különbséget tenni, hogy mint hatások sok kitartás viselkedés elvárások, mint például családi vállalkozások, szervezetek életciklusa események, stb

Ha van némi post-initialize vagy más életciklus callback, hogy meg kell tüzet lekérése során ered AuditQuery, hogy a felhasználó kódot, hogy ennek a különbségtételnek, és indítsa el azokat a módszereket, ha szükséges.

Válaszolt 17/01/2020 21:32
a forrás felhasználó

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