/ / Grails + GORM: Existuje ekvivalent k hibernate @Generated? hibernate, grails, entity, gorm

Grails + GORM: Existuje ekvivalent hibernácie @ Generated? - hibernácia, graily, entity, gorm

V súčasnosti pracujem na projekte grails, kde musím zmapovať staršiu databázu s GORMom.

Môj problém je teraz, že po uložení entity sa stav stĺpcov, ktoré boli automaticky generované, v entite neodráža.

Viem, že to môžem urobiť entity.refresh() vynútiť opätovné naloženie celého subjektu z. \ tdatabáz. Nemyslím si však, že je to životaschopné riešenie, pretože takéto scenáre by sa mali spracúvať transparentne.

Viem, že v režime spánku existuje a @Generated(GenerationTime.INSERT) anotácia, ktorá robí presne to, čo chcem robiť.

Existuje rovnaký spôsob, ako to urobiť s GORMom?

odpovede:

0 pre odpoveď č. 1

Nemyslím si, že GORM to podporuje natívne (ale mal by záujem, ak by iná odpoveď mohla ukázať spôsob!), Ale dokumentáciu tu: http://docs.grails.org/latest/ref/Domain%20Classes/refresh.html naznačuje, že osvieženie je skutočne správny prístup.

Môžete ju kombinovať s podporovanými udalosťami(afterInsert a afterUpdate by mali pracovať pre vás) na obnovenie vášho objektu. To nie je úplne transparentné, ale je aspoň úplne obsiahnuté v objekte vašej domény.

// I didn"t actually test this but it should work like this, or similar.
//Put the method in your domain object itself and it will be called automatically.

def afterInsert(){
this.refresh()
}