I added both @Transient flavors for good measure: @Override @java.beans.Transient @javax.persistence.Transient MetaClass getMetaClass() { if (this.metaClass == null) this.metaClass = InvokerHelper.getMetaClass(getClass()); return this.metaClass; } but I still get: at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:157) at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:266) at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:73) at com.flex.inventory.InventoryModel_$$jvst230_c.getMetaClass(InventoryModel$$_jvst230_c.java) at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.nonParamCheck(PogoMetaMethodSite.java:83) at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.checkCall(PogoMetaMethodSite.java:100) at com.flex.common.IdNamePair$getId.call(Unknown Source) at com.flex.inventory.InventoryModelController.update(InventoryModelController.groovy:104) |