我目前正在开展grails项目,我必须使用GORM映射旧数据库。某些数据库列由触发器自动生成。
我现在的问题是,在保存实体后,自动生成的列的状态不会反映在实体中。
我知道我可以entity.refresh()
强制从数据库重新加载整个实体。但我不认为这是一个可行的解决方案,因为这种情况应该透明处理。而且我不想在每次保存后明确刷新实体。
我知道在hibernate中存在一个@Generated(GenerationTime.INSERT)
注释,它完全符合我的要求。
使用GORM有同等的方法吗?
答案 0 :(得分:0)
我不相信GORM原生支持这种情况(但如果另一个答案可以显示出来的话会感兴趣!)但是这里的文档:http://docs.grails.org/latest/ref/Domain%20Classes/refresh.html表明刷新确实是正确的方法。
您可以将其与支持的事件(afterInsert和afterUpdate应该适合您)组合以刷新您的对象。这不是完全透明的,但至少完全包含在您的域对象中。
col-md-12 col-pull-9