Мы делаем GrailsHibernateUtil.unwrapIfProxy(obj)
.Он не избавится от методов, введенных Grails и тому подобного, - только от Hibernate / GORM-прокси, но этого будет достаточно.
edit :
- Извинитеза вопрос, но объявили ли вы свой класс домена как
implements Serializable
? - Это может быть что-то, что вы добавляете / добавляете в свой класс, как в Grails non-bug 6379 .
- Этот кусок кода (получил здесь ) работал для меня в
grails console
на небольшом доменном классе:
.
import org.codehaus.groovy.grails.orm.hibernate.cfg.GrailsHibernateUtil
import com.somegroup.domain.*
def loc = SomeDomainClass.get(1)
loc = GrailsHibernateUtil.unwrapIfProxy(loc)
ByteArrayOutputStream bos = new ByteArrayOutputStream()
ObjectOutput out = new ObjectOutputStream(bos)
out.writeObject(loc)
byte[] yourBytes = bos.toByteArray()